जब मैं विंडोज webbrowser.open (fname)
या osstartfile पर कोशिश करता हूं Fname)
या os.system ('cmd / c'% s ''% fname)
मेरी अजगर स्क्रिप्ट निष्पादित हो रही है।
इसे कैसे खोलें डिफ़ॉल्ट संपादक में संपादित करें (जैसे एसक्यूएल स्क्रिप्ट)
की कोशिश की
import ctypes shell32 = ctypes.windll.shell32 fname = r'C: \ script \ delete_records.py 'shell32 C: \ Program Files \ ibm \ gsk8 \ lib64 \ C पर फ़ाइल एक्सप्लोरर खोलता है। शेलएक्सेकुटेए (0, "ओपन", एफएनए, 0,0,5)
डिफ़ॉल्ट खोलें और संपादित करें क्रियाओं को WinAPI फ़ंक्शन द्वारा नियंत्रित किया जाता है (कार्यों को HKEY_CLASSES_ROOT
उपप्रि में रजिस्ट्री में परिभाषित किया जाता है)
पायथन स्क्रिप्ट से WinAPI को एक्सेस करने के लिए दो तरह से हैं।
-
जैसे अच्छे आवरण का उपयोग करना यह ctypes से अधिक सुरक्षित है, लेकिन यह गैर-मानक पायथन मॉड्यूल है। Ie:
<पूर्व> win32api win32api.ShellExecute (कोई नहीं, "संपादित करें", "सी: \\ सार्वजनिक \\ calc.bat", कोई नहीं, "सी: \\ सार्वजनिक \\", 1 )
-
ctypes का उपयोग करना यह जटिल है और तर्कों को नियंत्रित नहीं करता है, इसलिए गलती का कारण हो सकता है (जब तक कि आप नतीजे प्रकार और तर्क प्रकार मैन्युअल रूप से न दें)।
import ctypes ShellExecuteA = ctypes.windll.shell32.ShellExecuteA ShellExecuteA (कोई नहीं , "संपादित करें", "सी: \\ सार्वजनिक \\ calc.bat", कोई नहीं, "सी: \\ सार्वजनिक \\", 1)
-
regedit.exe चलाएँ
-
पर जाएं HKEY_CLASSES_ROOT < / कोड> और इच्छित एक्सटेंशन चुनें, अर्थात .py
। बाएं फलक पर (डिफ़ॉल्ट)
मान पढ़ें - यह वर्ग का नाम होगा, अर्थात Python.File
।
HKEY_CLASSES_ROOT
। इसमें shell
उपट्री होना चाहिए, जिसके तहत आप उपलब्ध शेल क्रियाओं को प्राप्त करेंगे मेरे लिए और पायथन स्क्रिप्ट के लिए वे आईडीले के साथ संपादन
और पायथनविन के साथ संपादन करें
। - इन मानों को
ShellExecute () के दूसरे पैरामीटर के रूप में पास करें < / कोड>
No comments:
Post a Comment