כיצד להפוך משימות לאוטומטיות עם סקריפטים של Python

Kyzd Lhpwk Msymwt L Wtwmtywt M Sqryptym Sl Python



מתכנתים, קודנים ומפתחים יכולים להפוך את השיטות לאוטומטיות באמצעות סקריפטים של Python, ולחסוך להם זמן ומאמץ חשובים על ידי ביצוע פעולות חוזרות ונשנות. Python היא שפת מחשב, כמו Java, שמתפקדת היטב באוטומציה של תהליכים. בהשוואה לשפות אחרות, קל יחסית ללמוד. יש לו גם קהילה גדולה ותוססת וספריות מובנות לאוטומציה של משימות מסוימות.

התקנת Python

לפני שתתחיל להפוך את המשימות לאוטומטיות, התקן את Python במחשב או במערכת. כדי להתקין את Python, תחילה עליך לבקר באתר הרשמי של Python. הקפד להוסיף את Python ל-PATH של המערכת במהלך ההתקנה.







  1. בחר IDE או עורך טקסט

ניתן להשתמש בכל עורך טקסט כדי לבנות את הסקריפטים של Python. ובכל זאת, סביבות הפיתוח המשולבות (IDEs), כולל PyCharm, Visual Studio Code או Jupyter Notebook, יכולות לשפר את התהליך עם כלים כמו הדגשת תחביר וניפוי באגים. עם זאת, אנו משתמשים ב-Notepad++ במאמר זה.



  1. קבע את המשימה שצריכה להיות אוטומטית

זה יכול לכלול כל דבר, החל משליחת אימיילים בכמות גדולה, יצירת דוחות, הורדת קבצים וביצוע גיבויים.



  1. חקור את הספריות והפונקציות

תסתכל על הפונקציות והספריות שיכולות להפוך את המשימות משנה לאוטומטיות.





  1. כתוב את הסקריפט בפייתון

זה המקום שבו אנו מרכיבים את כל החלקים כדי ליצור תסריט עבודה שלם.

  1. מְשִׁימָה

הפוך את הפקת הדוחות לאוטומטי מהנתונים המאוחסנים בגיליון אלקטרוני.



  1. סקריפט פייתון

אנו יכולים להשתמש בסקריפט של Python כדי לקרוא את הנתונים מגיליון אלקטרוני ולהפיק דוחות במגוון פורמטים כגון PDF, HTML או CSV. בנוסף, הסקריפט עשוי לשמש להפצה אוטומטית של הדוחות לבעלי עניין באמצעות דואר אלקטרוני או Slack.

נדרשים מספר שלבים כדי ליצור דוחות באמצעות נתוני הגיליון האלקטרוני. אנו ניתן לך סקריפט Python מפושט המשתמש בספריית Pandas כדי לקרוא את הנתונים מגיליון אלקטרוני של Excel וליצור דוח CSV. זכור שאנו עשויים להתבסס על סקריפט זה כדי להפיק דוחות מורכבים יותר בפורמטים אחרים ולהפוך את הודעות הדוא'ל או Slack לאוטומטיות לפי הצורך.

התקן את הספריות הנדרשות

לפני הפעלת הסקריפט, עלינו להתקין את ספריית Pandas אם היא עדיין לא מותקנת:

צִפצוּף להתקין pandas openpyxl

לקוד Python יש פונקציה בשם gener_report() שלוקחת שני ארגומנטים: הנתיב לגיליון אלקטרוני של Excel המכיל את נתוני השכר של העובדים והנתיב לקובץ CSV שבו יש לשמור את הדוח.

הפונקציה קוראת לראשונה את הגיליון האלקטרוני של Excel לאובייקט Pandas DataFrame. לאחר מכן, הוא מבצע את עיבוד הנתונים וניתוחם לפי הצורך. הסכום של העמודה 'שכר' מחושב במקרה זה על ידי הפונקציה.

לאחר מכן, הפונקציה יוצרת מחרוזת דיווח המכילה את השכר הכולל של כל העובדים. לבסוף, הפונקציה שומרת את הדוח בקובץ CSV.

הפונקציה הראשית של הקוד מציינת את קובץ הקלט של Excel וקובץ דוח הפלט ולאחר מכן קוראת לפונקציה gener_report() כדי ליצור את הדוח.

GenReport.py:
לייבא פנדות כפי ש pd_obj
def gener_report ( emp_salary_data, emp_salary_report_file ) :
לְנַסוֹת:
# קרא נתונים מהגיליון האלקטרוני של Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# בצע עיבוד וניתוח נתונים לפי הצורך
# לשם הפשטות, נניח שאנו רוצים לחשב סכום של עמודה
Salary_total = df_obj [ 'שכר' ] .סְכוּם ( )
# צור דוח
דוח_שכר = ו 'סה'כ משכורות כל העובדים: {salary_total}'
# שמור את הדוח בקובץ CSV
עם פתוח ( emp_salary_report_file, 'ב' ) כפי ש csv_obj:
csv_obj.write ( דוח_שכר )

הדפס ( ו 'הדוח נוצר ונשמר ב-{emp_salary_report_file}' )
למעט חריג כפי ש לְשֶׁעָבַר:
הדפס ( ו 'אירעה שגיאה: {str(e)}' )
אם __שם__ == '__רָאשִׁי__' :
# ציין את קובץ הקלט של Excel וקובץ דוח הפלט
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'salary_sum.csv'
# התקשר לפונקציה gener_report כדי ליצור את הדוח
להפיק דוח ( emp_salary_data, emp_salary_report_file )

להלן הנתונים בקובץ הקלט של העובדים:

בדוק את הסקריפט

עלינו לבדוק בהרחבה את הסקריפט לאחר כתיבתו כדי לוודא שהוא פועל כמתוכנן. אנו משתמשים במהדר Python כדי לבדוק את הקובץ שאנו עושים אוטומטיים. במקרה זה, קובץ זה יוצר ומאחסן בהצלחה את הדוח בקובץ CSV.

תזמן או הפעל את הסקריפט

בהתאם לדרישות האוטומציה, אנו עשויים להפעיל את סקריפט Python בדרכים שונות:

  • ביצוע ידני: הפעל את הסקריפט באופן ידני על ידי ביצועו ב-IDE או באמצעות שורת הפקודה באמצעות הפקודה הבאה: python GenerateReport.py .
  • משימות מתוזמנות (Windows): אנו יכולים להפעיל את הסקריפט בזמנים או במרווחי זמן ספציפיים באמצעות מתזמן המשימות של Windows. באמצעות שירות Windows, אנו יכולים גם להפעיל אירוע ספציפי.
  • Cron Jobs (Linux/macOS): אנו יכולים להשתמש ב-cron jobs כדי לתזמן את הסקריפט לרוץ בזמנים ספציפיים במערכות דמויות Unix.
  • מונחה אירועים: אנו יכולים להפעיל את הסקריפט שלך בתגובה לאירועים ספציפיים, כגון שינויים בקבצים, שימוש בספריות כמו Watchdog או על ידי שילוב עם webhooks.

אוטומציה של גיבוי MySQL באמצעות Python

כדי להפוך את תהליך הגיבוי של שרת MySQL לאוטומטי לפי לוח זמנים שעתי, נוכל להשתמש ב-Python בשילוב עם ספריית 'mysqlclient' כדי להתחבר למסד הנתונים של MySQL וליצור גיבויים, ונוכל להשתמש במתזמן משימות כמו Cron (על מבוסס Unix systems) כדי להפעיל את סקריפט Python במרווחי שעה. להלן סקריפט Python שתוכל להשתמש בו למטרה זו:

שלב 1: התקן את הספריות הנדרשות

עלינו להתקין את ספריית 'mysqlclient' עבור קישוריות MySQL. אנחנו יכולים להתקין אותו באמצעות pip:

צִפצוּף להתקין mysqlclient

צִפצוּף להתקין configparser

שלב 2: צור קובץ תצורה

צור קובץ טקסט (למשל, mysqlconfig.ini) כדי לאחסן את פרטי חיבור ה-MySQL שלך, כולל הסיסמה. להלן דוגמה כיצד עשוי להיראות הקובץ 'mysqlconfig.ini':

[ mysql ]
mySQL_DB_HOST = מארח מקומי
mySQL_DB_USERNAME = שורש
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

שלב 3: אימות MySQL Bin Directory :

הפקודה 'mysqldump' צריכה להיות ממוקמת בספריית MySQL bin. ודא שה-PATH של המערכת כולל את ספריית bin. אנו יכולים לשנות את משתנה הסביבה PATH כך שיכלול את מיקום ה-MySQL bin.

ב-Windows: אנו יכולים לערוך את ה-PATH של המערכת על ידי חיפוש אחר 'משתני סביבה' בתפריט 'התחל' והוספת ספריית MySQL bin (למשל, C:\Program Files\MySQL\MySQL Server X.X\bin) למשתנה ה-PATH.

שלב 3: כתוב את סקריפט Python

צור סקריפט Python, למשל, MySQLBackup.py, כדי להפוך את תהליך הגיבוי של MySQL לאוטומטי. החלף את מצייני המיקום בפרטי חיבור מסד הנתונים ובנתיבי הקבצים לפי הצורך.

תהליך משנה של ייבוא כפי ש sp
מתאריך תאריך ייבוא ​​תאריך שעה כפי ש dt_obj
ייבוא ​​configparser כפי ש mysql_confg
# פרטי חיבור מסד הנתונים של MySQL
# טען פרטי חיבור MySQL מקובץ התצורה
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # התאם את הנתיב במידת הצורך
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' )
# ספריית גיבוי
bk_dir = 'ספריית_גיבוי/'
# קבל את התאריך והשעה הנוכחיים עבור שם קובץ הגיבוי
חותמות זמן = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# הגדר את שם קובץ הגיבוי
my_sql_bk = f 'backup_{timestamp_oj}.sql'
# פקודת MySQL dump
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}'

לְנַסוֹת:
# בצע את פקודת MySQL dump כדי ליצור גיבוי
sp.run ( mysql_dump_cmd, צדף =נכון, חשבון =נכון )
הדפס ( ו 'הגיבוי הושלם ונשמר בתור '{my_sql_bk}' ב-'{bk_dir}'' )
למעט sp.CalledProcessError כפי ש זה:
הדפס ( ו 'שגיאה ביצירת גיבוי: {str(e)}' )

שלב 4: בדוק והפעל את הקוד

שלב 5: תזמן את הסקריפט עם מתזמן המשימות של Windows

כעת, בואו נתזמן את הסקריפט של Python כך שיפעל אוטומטית באמצעות מתזמן המשימות של Windows:

הפעל את מתזמן המשימות של Windows על ידי הקלדת 'מתזמן משימות' בשורת החיפוש של תפריט 'התחל' או על ידי הקלדת 'taskschd.msc' בתיבת הדו-שיח 'הפעלה' (Win + R).

בחר 'ספריית מתזמן משימות' מהחלונית השמאלית של מתזמן המשימות.

בחלונית הימנית, לחץ על 'צור משימה בסיסית...' כדי לפתוח את 'אשף יצירת משימות בסיסיות'.

הזן שם ותיאור של משימה. לאחר מכן, לחץ על 'הבא'.

בחר 'יומי' כסוג ההדק (למרות שאתה רוצה להפעיל אותו מדי שעה, זה מאפשר לך להגדיר מרווח חוזר). לאחר מכן, לחץ על 'הבא'.

ציין את תאריך ושעה ההתחלה של משימת הגיבוי.

בחר 'חזור על משימה כל:' והגדר אותה לשעה אחת.

הגדר את משך הזמן ל'יום אחד'. לאחר מכן, לחץ על 'הבא'.

בחר 'התחל תוכנית' ולאחר מכן לחץ על 'הבא'.

עיין ובחר את קובץ ההפעלה של Python (python.exe) על ידי לחיצה על 'עיון'.

עיין ובחר את קובץ ההפעלה של Python (python.exe) על ידי לחיצה על 'עיון'.

הזן את הנתיב המלא לסקריפט Python שלך (למשל, C:\path\to\mysql_backup.py) בשדה 'הוסף ארגומנטים'.

הזן את הספרייה המכילה את סקריפט Python שלך (למשל, C:\path\to\) בשדה 'התחל ב (אופציונלי)'.

לחץ על 'הבא'.

עיין בהגדרות המשימה ולחץ על 'סיום' כדי ליצור את המשימה.

סיכום

אנו יכולים לבנות סקריפטים אוטומציה אמינים ויעילים שמקצצים את הזמן של זרימות עבודה ולהקדיש אותו לפעילויות חשובות יותר על ידי שימוש בכלים של Python והשיטות המומלצות שלה. סיפקנו כמה דוגמאות שבהחלט יעזרו לך להפוך את המשימות שלך לאוטומטיות באמצעות סקריפטים של Python.