Python Komut Dosyalarıyla Görevler Nasıl Otomatikleştirilir

Python Komut Dosyalariyla Gorevler Nasil Otomatiklestirilir



Programcılar, kodlayıcılar ve geliştiriciler, Python komut dosyalarını kullanarak yöntemleri otomatik hale getirebilir ve tekrarlayan işlemleri gerçekleştirerek önemli bir zaman ve emek tasarrufu sağlayabilirler. Python, Java gibi süreç otomasyonunda iyi performans gösteren bir bilgisayar dilidir. Diğer dillerle karşılaştırıldığında öğrenilmesi nispeten kolaydır. Ayrıca belirli görevleri otomatikleştirmek için geniş, canlı bir topluluğa ve yerleşik kitaplıklara sahiptir.

Python'u yükleme

Görevleri otomatikleştirmeye başlamadan önce Python'u bilgisayarınıza veya sisteme yükleyin. Python'u yüklemek için önce resmi Python web sitesini ziyaret etmelisiniz. Kurulum sırasında Python'u sistemin PATH'sine eklediğinizden emin olun.







  1. Bir IDE veya Metin Düzenleyici seçin

Python komut dosyalarını oluşturmak için herhangi bir metin düzenleyici kullanılabilir. Yine de PyCharm, Visual Studio Code veya Jupyter Notebook dahil Entegre Geliştirme Ortamları (IDE'ler), sözdizimi vurgulama ve hata ayıklama gibi araçlarla süreci iyileştirebilir. Ancak bu yazıda Notepad++ kullanıyoruz.



  1. Otomatikleştirilmesi Gereken Görevi Belirleyin

Bu, toplu e-posta göndermek, rapor oluşturmak, dosya indirmek ve yedekleme yapmaktan herhangi bir şeyi içerebilir.



  1. Kütüphaneleri ve İşlevlerini Araştırın

Alt görevleri otomatikleştirebilecek işlevlere ve kitaplıklara bakın.





  1. Komut Dosyasını Python'da yazın

Tam bir çalışma senaryosu oluşturmak için tüm parçaları burada birleştiriyoruz.

  1. Görev

Bir e-tabloda depolanan verilerden rapor oluşturmayı otomatikleştirin.



  1. Python Komut Dosyası

Bir elektronik tablodaki verileri okumak ve PDF, HTML veya CSV gibi çeşitli formatlarda raporlar oluşturmak için Python komut dosyasını kullanabiliriz. Ayrıca komut dosyası, raporları e-posta veya Slack aracılığıyla paydaşlara otomatik olarak dağıtmak için de kullanılabilir.

Elektronik tablo verilerini kullanarak rapor oluşturmak için birden fazla adım gerekir. Size bir Excel elektronik tablosundaki verileri okumak ve bir CSV raporu oluşturmak için Pandas kitaplığını kullanan basitleştirilmiş bir Python komut dosyası vereceğiz. Diğer formatlarda daha karmaşık raporlar üretmek ve e-posta veya Slack bildirimlerini gerektiği gibi otomatikleştirmek için bu komut dosyasını geliştirebileceğimizi unutmayın.

Gerekli Kitaplıkları Yükleyin

Betiği çalıştırmadan önce, henüz kurulmamışsa Pandas kütüphanesini kurmamız gerekiyor:

pip düzenlemek pandalar openpyxl

Python kodu, created_report() adında iki argüman alan bir işleve sahiptir: çalışan maaş verilerini içeren bir Excel elektronik tablosunun yolu ve raporun kaydedilmesi gereken CSV dosyasının yolu.

İşlev ilk önce Excel elektronik tablosunu bir Pandas DataFrame nesnesine okur. Daha sonra ihtiyaç halinde veri işleme ve analizini gerçekleştirir. Bu örnekte “Maaş” sütununun toplamı fonksiyon tarafından hesaplanır.

Daha sonra işlev, tüm çalışanların toplam maaşını içeren bir rapor dizesi oluşturur. Son olarak işlev, raporu bir CSV dosyasına kaydeder.

Kodun ana işlevi, giriş Excel dosyasını ve çıktı rapor dosyasını belirtir ve ardından raporu oluşturmak için created_report() işlevini çağırır.

GenReport.py:
pandaları içe aktar gibi pd_obj
def created_report ( emp_salary_data, emp_salary_report_file ) :
denemek:
# Excel elektronik tablosundaki verileri okuyun
df_obj = pd_obj.read_excel ( emp_salary_data )
# Gerektiğinde veri işleme ve analiz gerçekleştirin
# Kolaylık olması açısından bir sütunun toplamını hesaplamak istediğimizi varsayalım.
maaş_toplam = df_obj [ 'Maaş' ] .sum ( )
# Bir rapor oluşturun
maaş_raporu = f 'Tüm Çalışan Maaşlarının Toplamı: {salary_total}'
# Raporu bir CSV dosyasına kaydedin
açık ( emp_salary_report_file, 'İçinde' ) gibi csv_obj:
csv_obj.write ( maaş_raporu )

Yazdır ( F 'Rapor oluşturuldu ve {emp_salary_report_file} dosyasına kaydedildi' )
İstisna hariç gibi eski:
Yazdır ( F 'Bir hata oluştu: {str(e)}' )
eğer __isim__ == '__ana__' :
# Giriş Excel dosyasını ve çıktı rapor dosyasını belirtin
emp_salary_data = 'giriş_çalışan_verileri.xlsx'
emp_salary_report_file = 'maaş_sum.csv'
# Raporu oluşturmak için created_report fonksiyonunu çağırın
rapor oluştur ( emp_salary_data, emp_salary_report_file )

Giriş çalışan dosyasındaki veriler şunlardır:

Komut Dosyasını Test Edin

Betiği yazıldıktan sonra amaçlandığı gibi çalıştığından emin olmak için kapsamlı bir şekilde test etmeliyiz. Otomatikleştirdiğimiz dosyayı test etmek için Python derleyicisini kullanıyoruz. Bu durumda, bu dosya raporu başarıyla oluşturur ve bir CSV dosyasında saklar.

Komut Dosyasını Zamanlayın veya Tetikleyin

Otomasyonun gereksinimlerine bağlı olarak Python betiğini çeşitli şekillerde çalıştırabiliriz:

  • Manuel Yürütme: Komut dosyasını bir IDE'de gerçekleştirerek veya aşağıdaki komutu kullanarak komut satırı aracılığıyla manuel olarak çalıştırın: piton GenerateReport.py .
  • Zamanlanmış Görevler (Windows): Windows Görev Zamanlayıcı'yı kullanarak betiği belirli zamanlarda veya aralıklarla çalıştırabiliriz. Windows Hizmetini kullanarak belirli bir olayı da çağırabiliriz.
  • Cron İşleri (Linux/macOS): Komut dosyasını Unix benzeri sistemlerde belirli zamanlarda çalışacak şekilde planlamak için cron işlerini kullanabiliriz.
  • Olay Odaklı: Betiğinizi dosya değişiklikleri gibi belirli olaylara yanıt olarak, watchdog gibi kütüphaneleri kullanarak veya web kancalarıyla entegre ederek tetikleyebiliriz.

Python Kullanarak MySQL Yedeklemesini Otomatikleştirme

Bir MySQL sunucusunun yedekleme işlemini saatlik bir programa göre otomatikleştirmek için, MySQL veritabanına bağlanmak ve yedeklemeler oluşturmak için Python'u “mysqlclient” kitaplığıyla birlikte kullanabiliriz ve Cron (Unix tabanlı) gibi bir görev zamanlayıcı kullanabiliriz. sistemleri) Python betiğini saatlik aralıklarla çalıştırmak için. Bu amaçla kullanabileceğiniz bir Python betiği aşağıdadır:

1. Adım: Gerekli Kitaplıkları Kurun

MySQL bağlantısı için “mysqlclient” kütüphanesini kurmamız gerekiyor. Pip kullanarak kurabiliriz:

pip düzenlemek mysqlclient

pip düzenlemek yapılandırma ayrıştırıcı

Adım 2: Yapılandırma Dosyası Oluşturun

Parola da dahil olmak üzere MySQL bağlantı bilgilerinizi saklamak için bir metin dosyası (örn. mysqlconfig.ini) oluşturun. İşte “mysqlconfig.ini” dosyasının nasıl görünebileceğine dair bir örnek:

[ MySQL ]
mySQL_DB_HOST = yerel ana bilgisayar
mySQL_DB_USERNAME = kök
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

3. Adım: MySQL Bin Dizinini Doğrulayın :

“mysqldump” komutu MySQL bin dizininde bulunmalıdır. Sistemin PATH'inin bin dizinini içerdiğini doğrulayın. PATH ortam değişkenini MySQL bin konumunu içerecek şekilde değiştirebiliriz.

Windows'ta: “Başlat” menüsünde “Ortam Değişkenleri”ni keşfedip PATH değişkenine MySQL bin dizinini (örneğin, C:\Program Files\MySQL\MySQL Server X.X\bin) ekleyerek sistemin PATH'ini düzenleyebiliriz.

3. Adım: Python Komut Dosyasını Yazın

MySQL yedekleme işlemini otomatikleştirmek için MySQLBackup.py gibi bir Python betiği oluşturun. Yer tutucuları, gerektiğinde veritabanı bağlantı ayrıntıları ve dosya yollarıyla değiştirin.

içe aktarma alt işlemi gibi sp
tarihsaatten tarihsaati içe aktar gibi dt_obj
yapılandırma ayrıştırıcıyı içe aktar gibi mysql_confg
# MySQL veritabanı bağlantı ayrıntıları
# MySQL bağlantı ayrıntılarını yapılandırma dosyasından yükleyin
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Gerekirse yolu ayarlayın
mySQL_DB_HOST = config_obj.get ( 'mysql' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME = config_obj.get ( 'mysql' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD = config_obj.get ( 'mysql' , 'mySQL_DB_PASSWORD' )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'mysql' , 'mySQL_DB_DATABASE_NAME' )
# Yedekleme dizini
bk_dir = 'yedekleme_dizini/'
# Yedekleme dosya adı için geçerli tarih ve saati alın
zaman damgaları = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Yedekleme dosya adını tanımlayın
my_sql_bk = f 'backup_{timestamp_oj}.sql'
# MySQL dökümü komutu
mysql_dump_cmd = f 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

denemek:
# Yedek oluşturmak için MySQL dump komutunu yürütün
hızlı koşmak ( mysql_dump_cmd, kabuk =Doğru, kontrol etmek =Doğru )
Yazdır ( F 'Yedekleme tamamlandı ve '{bk_dir}' dizinine '{my_sql_bk}' olarak kaydedildi' )
sp.CalledProcessError hariç gibi Bu:
Yazdır ( F 'Yedek oluşturma hatası: {str(e)}' )

4. Adım: Kodu Test Edin ve Yürütün

Adım 5: Komut Dosyasını Windows Görev Zamanlayıcı ile Zamanlayın

Şimdi Python betiğini Windows Görev Zamanlayıcı'yı kullanarak otomatik olarak çalışacak şekilde zamanlayalım:

“Başlat” menüsünün arama çubuğuna “Görev Zamanlayıcı” yazarak veya “Çalıştır” iletişim kutusuna (Win + R) “taskschd.msc” yazarak Windows Görev Zamanlayıcı'yı başlatın.

Görev Zamanlayıcının sol bölmesinden “Görev Zamanlayıcı Kitaplığı”nı seçin.

Sağ bölmede, “Temel Görev Oluşturma Sihirbazı”nı açmak için “Temel Görev Oluştur…” seçeneğine tıklayın.

Bir görev adı ve açıklaması girin. Daha sonra “İleri”ye basın.

Tetikleyici türü olarak 'Günlük'ü seçin (saatlik olarak çalıştırmak isteseniz bile bu, bir tekrar aralığı ayarlamanıza olanak tanır). Daha sonra “İleri”ye tıklayın.

Yedekleme görevinin başlangıç ​​tarihini ve saatini belirtin.

“Görevi her tekrarla:” seçeneğini seçin ve 1 saate ayarlayın.

Süreyi “1 gün” olarak ayarlayın. Daha sonra “İleri”ye tıklayın.

“Bir program başlat”ı seçin ve ardından “İleri”ye basın.

“Gözat”a tıklayarak Python yürütülebilir dosyasına (python.exe) göz atın ve seçin.

“Gözat”a tıklayarak Python yürütülebilir dosyasına (python.exe) göz atın ve seçin.

“Argüman ekle” alanına Python betiğinizin tam yolunu (örneğin, C:\path\to\mysql_backup.py) girin.

“Başlangıç ​​(isteğe bağlı)” alanına Python betiğinizi içeren dizini (örneğin, C:\path\to\) girin.

“İleri”ye tıklayın.

Görev ayarlarını gözden geçirin ve görevi oluşturmak için “Son”a tıklayın.

Çözüm

Python'un araçlarını ve en iyi uygulamalarını kullanarak iş akışlarındaki zamanı azaltan ve zamanı daha önemli faaliyetlere ayıran güvenilir ve etkili otomasyon komut dosyaları oluşturabiliriz. Python komut dosyalarını kullanarak görevlerinizi otomatikleştirmenize kesinlikle yardımcı olacak bazı örnekler sunduk.