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.
- 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.
- 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.
- Kütüphaneleri ve İşlevlerini Araştırın
Alt görevleri otomatikleştirebilecek işlevlere ve kitaplıklara bakın.
- Komut Dosyasını Python'da yazın
Tam bir çalışma senaryosu oluşturmak için tüm parçaları burada birleştiriyoruz.
- Görev
Bir e-tabloda depolanan verilerden rapor oluşturmayı otomatikleştirin.
- 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 sptarihsaatten 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.