पायथन स्क्रिप्ट के साथ कार्यों को स्वचालित कैसे करें

Payathana Skripta Ke Satha Karyom Ko Svacalita Kaise Karem



प्रोग्रामर, कोडर और डेवलपर्स पायथन स्क्रिप्ट का उपयोग करके तरीकों को स्वचालित कर सकते हैं, जिससे दोहराव वाले ऑपरेशन करके उनका महत्वपूर्ण समय और प्रयास बच जाता है। पाइथॉन जावा की तरह एक कंप्यूटर भाषा है, जो प्रक्रिया स्वचालन में अच्छा प्रदर्शन करती है। अन्य भाषाओं की तुलना में इसे सीखना अपेक्षाकृत आसान है। इसमें विशेष कार्यों को स्वचालित करने के लिए एक बड़ा, जीवंत समुदाय और अंतर्निहित पुस्तकालय भी हैं।

पायथन स्थापित करना

इससे पहले कि आप कार्यों को स्वचालित करना शुरू करें, कंप्यूटर या सिस्टम पर पायथन इंस्टॉल करें। Python को इंस्टॉल करने के लिए आपको सबसे पहले आधिकारिक Python वेबसाइट पर जाना होगा। इंस्टालेशन के दौरान सिस्टम के PATH में Python को जोड़ना सुनिश्चित करें।







  1. एक आईडीई या टेक्स्ट एडिटर चुनें

पायथन स्क्रिप्ट बनाने के लिए किसी भी टेक्स्ट एडिटर का उपयोग किया जा सकता है। फिर भी, एकीकृत विकास वातावरण (आईडीई), जिसमें PyCharm, विज़ुअल स्टूडियो कोड, या ज्यूपिटर नोटबुक शामिल हैं, सिंटैक्स हाइलाइट और डिबगिंग जैसे उपकरणों के साथ प्रक्रिया में सुधार कर सकते हैं। हालाँकि, हम इस लेख में Notepad++ का उपयोग कर रहे हैं।



  1. वह कार्य निर्धारित करें जिसे स्वचालित करने की आवश्यकता है

इसमें बल्क ईमेल भेजने, रिपोर्ट बनाने, फ़ाइलें डाउनलोड करने और बैकअप बनाने से लेकर कुछ भी शामिल हो सकता है।



  1. पुस्तकालयों और कार्यों पर शोध करें

उन फ़ंक्शंस और लाइब्रेरीज़ को देखें जो उप-कार्यों को स्वचालित कर सकते हैं।





  1. पायथन में स्क्रिप्ट लिखें

यह वह जगह है जहां हम एक संपूर्ण कामकाजी स्क्रिप्ट बनाने के लिए सभी टुकड़ों को इकट्ठा करते हैं।

  1. काम

स्प्रेडशीट में संग्रहीत डेटा से जनरेटिंग रिपोर्ट को स्वचालित करें।



  1. पायथन स्क्रिप्ट

हम स्प्रेडशीट से डेटा पढ़ने और पीडीएफ, एचटीएमएल, या सीएसवी जैसे विभिन्न प्रारूपों में रिपोर्ट तैयार करने के लिए पायथन स्क्रिप्ट का उपयोग कर सकते हैं। इसके अतिरिक्त, स्क्रिप्ट का उपयोग ईमेल या स्लैक के माध्यम से हितधारकों को रिपोर्ट स्वचालित रूप से वितरित करने के लिए किया जा सकता है।

स्प्रेडशीट डेटा का उपयोग करके रिपोर्ट बनाने में कई चरण लगते हैं। हम आपको एक सरलीकृत पायथन स्क्रिप्ट देंगे जो एक्सेल स्प्रेडशीट से डेटा पढ़ने और सीएसवी रिपोर्ट बनाने के लिए पांडास लाइब्रेरी का उपयोग करती है। याद रखें कि हम अन्य प्रारूपों में अधिक जटिल रिपोर्ट तैयार करने और आवश्यकतानुसार ईमेल या स्लैक सूचनाओं को स्वचालित करने के लिए इस स्क्रिप्ट का उपयोग कर सकते हैं।

आवश्यक पुस्तकालय स्थापित करें

स्क्रिप्ट चलाने से पहले, हमें पांडा लाइब्रेरी को स्थापित करना होगा यदि यह अभी तक स्थापित नहीं है:

रंज स्थापित करना पांडा openpyxl

पायथन कोड में generate_report() नामक एक फ़ंक्शन होता है जो दो तर्क लेता है: एक्सेल स्प्रेडशीट का पथ जिसमें कर्मचारी वेतन डेटा होता है और CSV फ़ाइल का पथ जहां रिपोर्ट सहेजी जानी चाहिए।

फ़ंक्शन पहले एक्सेल स्प्रेडशीट को पांडास डेटाफ़्रेम ऑब्जेक्ट में पढ़ता है। फिर, यह आवश्यकतानुसार डेटा प्रोसेसिंग और विश्लेषण करता है। इस उदाहरण में 'वेतन' कॉलम के योग की गणना फ़ंक्शन द्वारा की जाती है।

इसके बाद, फ़ंक्शन एक रिपोर्ट स्ट्रिंग बनाता है जिसमें सभी कर्मचारियों का कुल वेतन होता है। अंत में, फ़ंक्शन रिपोर्ट को CSV फ़ाइल में सहेजता है।

कोड का मुख्य फ़ंक्शन इनपुट एक्सेल फ़ाइल और आउटपुट रिपोर्ट फ़ाइल को निर्दिष्ट करता है और फिर रिपोर्ट बनाने के लिए generate_report() फ़ंक्शन को कॉल करता है।

GenReport.py:
पांडा आयात करें जैसा pd_obj
डीईएफ़ जेनरेट_रिपोर्ट ( emp_salary_data, emp_salary_report_file ) :
कोशिश करना:
# एक्सेल स्प्रेडशीट से डेटा पढ़ें
df_obj = pd_obj.read_excel ( emp_वेतन_डेटा )
# आवश्यकतानुसार डेटा प्रोसेसिंग और विश्लेषण करें
# सरलता के लिए, मान लें कि हम एक कॉलम के योग की गणना करना चाहते हैं
वेतन_कुल = df_obj [ 'वेतन' ] ।जोड़ ( )
# एक रिपोर्ट बनाएं
वेतन_रिपोर्ट = एफ 'सभी कर्मचारियों का कुल वेतन: {salary_total}'
# रिपोर्ट को CSV फ़ाइल में सहेजें
खुले के साथ ( emp_वेतन_रिपोर्ट_फ़ाइल, 'में' ) जैसा सीएसवी_ओबीजे:
csv_obj.लिखें ( वेतन_रिपोर्ट )

छपाई ( एफ 'रिपोर्ट तैयार की गई और {emp_salary_report_file} में सहेजी गई' )
अपवाद को छोड़कर जैसा पूर्व:
छपाई ( एफ 'एक त्रुटि उत्पन्न हुई: {str(e)}' )
अगर __नाम__ == '__मुख्य__' :
# इनपुट एक्सेल फ़ाइल और आउटपुट रिपोर्ट फ़ाइल निर्दिष्ट करें
emp_salary_data = 'इनपुट_कर्मचारी_डेटा.xlsx'
emp_salary_report_file = 'वेतन_योग.सीएसवी'
# रिपोर्ट बनाने के लिए generate_report फ़ंक्शन को कॉल करें
रिपोर्ट बनाओ ( emp_salary_data, emp_salary_report_file )

यहां इनपुट कर्मचारी फ़ाइल में डेटा है:

स्क्रिप्ट का परीक्षण करें

हमें स्क्रिप्ट लिखे जाने के बाद उसका बड़े पैमाने पर परीक्षण करना चाहिए ताकि यह सुनिश्चित हो सके कि यह इच्छित उद्देश्य के अनुसार काम करती है। हम जिस फ़ाइल को स्वचालित करते हैं उसका परीक्षण करने के लिए हम पायथन कंपाइलर का उपयोग करते हैं। इस स्थिति में, यह फ़ाइल सीएसवी फ़ाइल में रिपोर्ट को सफलतापूर्वक उत्पन्न और संग्रहीत करती है।

स्क्रिप्ट को शेड्यूल या ट्रिगर करें

स्वचालन की आवश्यकताओं के आधार पर, हम पायथन स्क्रिप्ट को विभिन्न तरीकों से निष्पादित कर सकते हैं:

  • मैन्युअल निष्पादन: निम्नलिखित कमांड का उपयोग करके स्क्रिप्ट को आईडीई में या कमांड लाइन के माध्यम से मैन्युअल रूप से चलाएं: पायथन जेनरेटरिपोर्ट.py .
  • निर्धारित कार्य (विंडोज़): हम विंडोज़ टास्क शेड्यूलर का उपयोग करके स्क्रिप्ट को विशिष्ट समय या अंतराल पर चला सकते हैं। Windows सेवा का उपयोग करके, हम किसी विशिष्ट ईवेंट को भी प्रारंभ कर सकते हैं।
  • क्रॉन जॉब्स (लिनक्स/मैकओएस): यूनिक्स जैसी प्रणालियों पर विशिष्ट समय पर चलने के लिए स्क्रिप्ट को शेड्यूल करने के लिए हम क्रॉन जॉब्स का उपयोग कर सकते हैं।
  • घटना संचालित की गई: हम विशिष्ट घटनाओं के जवाब में आपकी स्क्रिप्ट को ट्रिगर कर सकते हैं, जैसे फ़ाइल परिवर्तन, वॉचडॉग जैसी लाइब्रेरी का उपयोग करना या वेबहुक के साथ एकीकरण करके।

पायथन का उपयोग करके MySQL बैकअप को स्वचालित करना

एक घंटे के शेड्यूल पर MySQL सर्वर की बैकअप प्रक्रिया को स्वचालित करने के लिए, हम MySQL डेटाबेस से कनेक्ट करने और बैकअप बनाने के लिए 'mysqlclient' लाइब्रेरी के संयोजन में पायथन का उपयोग कर सकते हैं, और हम क्रॉन (यूनिक्स-आधारित) जैसे कार्य शेड्यूलर का उपयोग कर सकते हैं सिस्टम) प्रति घंटे के अंतराल पर पायथन स्क्रिप्ट चलाने के लिए। निम्नलिखित एक पायथन स्क्रिप्ट है जिसका उपयोग आप इस उद्देश्य के लिए कर सकते हैं:

चरण 1: आवश्यक पुस्तकालय स्थापित करें

हमें MySQL कनेक्टिविटी के लिए 'mysqlclient' लाइब्रेरी स्थापित करने की आवश्यकता है। हम इसे पिप का उपयोग करके स्थापित कर सकते हैं:

रंज स्थापित करना mysqlclient

रंज स्थापित करना configparser

चरण 2: एक कॉन्फ़िगरेशन फ़ाइल बनाएं

पासवर्ड सहित अपनी MySQL कनेक्शन जानकारी संग्रहीत करने के लिए एक टेक्स्ट फ़ाइल (उदाहरण के लिए, mysqlconfig.ini) बनाएं। यहां एक उदाहरण दिया गया है कि 'mysqlconfig.ini' फ़ाइल कैसी दिख सकती है:

[ माई एसक्यूएल ]
mySQL_DB_HOST = लोकलहोस्ट
mySQL_DB_USERNAME = रूट
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = Brandsw9_data

चरण 3: MySQL बिन निर्देशिका सत्यापित करें :

'mysqldump' कमांड MySQL बिन निर्देशिका में स्थित होना चाहिए। सत्यापित करें कि सिस्टम के PATH में बिन निर्देशिका शामिल है। हम MySQL बिन स्थान को शामिल करने के लिए PATH पर्यावरण चर को संशोधित कर सकते हैं।

विंडोज़ पर: हम 'प्रारंभ' मेनू में 'पर्यावरण चर' की खोज करके और PATH चर में MySQL बिन निर्देशिका (उदाहरण के लिए, C:\Program Files\MySQL\MySQL Server X.X\bin) जोड़कर सिस्टम के PATH को संपादित कर सकते हैं।

चरण 3: पायथन स्क्रिप्ट लिखें

MySQL बैकअप प्रक्रिया को स्वचालित करने के लिए एक Python स्क्रिप्ट बनाएं, उदाहरण के लिए, MySQLBackup.py। आवश्यकतानुसार प्लेसहोल्डर्स को डेटाबेस कनेक्शन विवरण और फ़ाइल पथों से बदलें।

उपप्रक्रिया आयात करें जैसा एसपी
दिनांक समय से दिनांक समय आयात करें जैसा dt_obj
कॉन्फिगपार्सर आयात करें जैसा mysql_confg
# MySQL डेटाबेस कनेक्शन विवरण
# कॉन्फ़िगरेशन फ़ाइल से MySQL कनेक्शन विवरण लोड करें
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # यदि आवश्यक हो तो पथ समायोजित करें
mySQL_DB_HOST = config_obj.get ( 'माई एसक्यूएल' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME = config_obj.get ( 'माई एसक्यूएल' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD = config_obj.get ( 'माई एसक्यूएल' , 'mySQL_DB_PASSWORD' )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'माई एसक्यूएल' , 'mySQL_DB_DATABASE_NAME' )
# बैकअप निर्देशिका
bk_dir = 'बैकअप_निर्देशिका/'
# बैकअप फ़ाइल नाम के लिए वर्तमान दिनांक और समय प्राप्त करें
टाइमस्टैम्प = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# बैकअप फ़ाइल नाम परिभाषित करें
my_sql_bk = एफ 'बैकअप_{timestamp_oj}.sql'
# MySQL डंप कमांड
mysql_dump_cmd = एफ 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

कोशिश करना:
# बैकअप बनाने के लिए MySQL डंप कमांड निष्पादित करें
एसपी.रन ( mysql_dump_cmd, शंख =सच, जाँच करना =सच )
छपाई ( एफ 'बैकअप पूरा हुआ और '{bk_dir}' में '{my_sql_bk}' के रूप में सहेजा गया' )
sp.CalledProcessError को छोड़कर जैसा यह है:
छपाई ( एफ 'बैकअप बनाने में त्रुटि: {str(e)}' )

चरण 4: कोड का परीक्षण और निष्पादन करें

चरण 5: विंडोज़ टास्क शेड्यूलर के साथ स्क्रिप्ट शेड्यूल करें

अब, आइए विंडोज़ टास्क शेड्यूलर का उपयोग करके पायथन स्क्रिप्ट को स्वचालित रूप से चलाने के लिए शेड्यूल करें:

'स्टार्ट' मेनू के सर्च बार में 'टास्क शेड्यूलर' टाइप करके या 'रन' डायलॉग बॉक्स (विन + आर) में 'टास्कचडी.एमएससी' टाइप करके विंडोज टास्क शेड्यूलर लॉन्च करें।

टास्क शेड्यूलर के बाएँ फलक से 'टास्क शेड्यूलर लाइब्रेरी' चुनें।

दाएँ फलक में, 'मूल कार्य विज़ार्ड बनाएँ' खोलने के लिए 'मूल कार्य बनाएँ...' पर क्लिक करें।

कार्य का नाम और विवरण दर्ज करें. फिर, 'अगला' दबाएँ।

ट्रिगर प्रकार के रूप में 'दैनिक' चुनें (भले ही आप इसे प्रति घंटा चलाना चाहते हों, यह आपको दोहराव अंतराल सेट करने की अनुमति देता है)। फिर, 'अगला' पर क्लिक करें।

बैकअप कार्य के लिए प्रारंभ तिथि और समय निर्दिष्ट करें।

'हर बार कार्य दोहराएँ:' चुनें और इसे 1 घंटे पर सेट करें।

अवधि को '1 दिन' पर सेट करें। फिर, 'अगला' पर क्लिक करें।

'प्रोग्राम प्रारंभ करें' चुनें और फिर 'अगला' दबाएँ।

ब्राउज़ करें और 'ब्राउज़ करें' पर क्लिक करके पायथन निष्पादन योग्य (python.exe) का चयन करें।

ब्राउज़ करें और 'ब्राउज़ करें' पर क्लिक करके पायथन निष्पादन योग्य (python.exe) का चयन करें।

'तर्क जोड़ें' फ़ील्ड में अपनी पायथन स्क्रिप्ट का पूरा पथ दर्ज करें (उदाहरण के लिए, C:\path\to\mysql_backup.py)।

'स्टार्ट इन (वैकल्पिक)' फ़ील्ड में वह निर्देशिका दर्ज करें जिसमें आपकी पायथन स्क्रिप्ट है (उदाहरण के लिए, C:\path\to\)।

'अगला' पर क्लिक करें।

कार्य सेटिंग्स की समीक्षा करें और कार्य बनाने के लिए 'समाप्त करें' पर क्लिक करें।

निष्कर्ष

हम विश्वसनीय और प्रभावी ऑटोमेशन स्क्रिप्ट बना सकते हैं जो पायथन के टूल और इसकी सर्वोत्तम प्रथाओं का उपयोग करके वर्कफ़्लो के समय को कम कर देती है और इसे अधिक महत्वपूर्ण गतिविधियों में लगा देती है। हमने कुछ उदाहरण प्रदान किए हैं जो निश्चित रूप से आपको पायथन स्क्रिप्ट का उपयोग करके अपने कार्यों को स्वचालित करने में मदद करेंगे।