मैक ओएस एक्स
:
import sys
assert len(sys.argv) > 2 # Breaks if you call the script without the arguments
theFile = " ".join(sys.argv[2:]) # What the c program gives us
print(theFile) # Print it out to prove that it works
thefile फ़ाइल कि खोला जा रहा है
का उपयोग करके फ़ाइल की सामग्री जाओ के स्थान शामिल होंगे: py, मैं इस तरह तर्क प्राप्त
पर मैक ओएस एक्स आपको लगता है कि आपके अजगर अनुप्रयोग कॉल करता है और इनपुट फ़ाइल पैट गुजरता एक आवेदन बनाने के लिए स्वचालक उपयोग कर सकते हैं एक स्ट्रिंग तर्क के रूप में एच। आवेदन कार्यप्रवाह विज़ार्ड में, कार्रवाई "रन शैल स्क्रिप्ट" जोड़ने Pass input:
as arguments
के रूप में चयन करें, और पाठ बॉक्स में जोड़ें:
python /path/to/my/app/myapp.py "[email protected]"
"[email protected]"
गुजरता जो कुछ भी साथ तर्क इनपुट में थे (चयनित फ़ाइल उर्फ) के रूप में तार। जब तक आपकी स्क्रिप्ट स्ट्रिंग्स की सूची (पहला पाइथन ऐप पथ) के रूप में इनपुट (sys.argv
) से निपटने के लिए सेट की जाती है, तो यह काम करेगी।
जब आप उस ऑटोमेटर वर्कफ़्लो को सहेजते हैं, तो ओएस एक्स द्वारा किसी अन्य ऐप की तरह इसका इलाज किया जाता है, और आप उस ऐप को "* .foo" प्रकार की फ़ाइलों के लिए डिफ़ॉल्ट के रूप में सेट कर सकते हैं। उस ऐप के साथ "* .foo" को जोड़ने के लिए, एक .foo फ़ाइल पर राइट क्लिक करें, Get Info
, Open with: Other...
, ऑटोमेटर में बनाए गए ऐप का चयन करें, फिर Change All...
बटन पर क्लिक करें।
विंडोज
एक समान है, लेकिन उम्मीद है कि कम-से शामिल दृष्टिकोण Windows में काम कर सकते हैं।
python C:\path\to\my\app\myapp.py %*
%*
सभी तर्कों के लिए विस्तारित: आप शायद एक बैच फ़ाइल (.bat
) निम्नलिखित के साथ बना सकते हैं।
जब तक आप उस बैच फ़ाइल के साथ फ़ाइल एक्सटेंशन को संबद्ध कर सकते हैं, तब आप ऐसा कर सकते हैं, और यह आपका समाधान है। हालांकि, मैंने इस विंडोज समाधान की कोशिश नहीं की है, इसलिए इसे नमक के अनाज से लें। मैक समाधान, दूसरी तरफ, मैंने परीक्षण किया है।
आपके लिए जावा स्टब काम का आह्वान करेगा? http: // stackoverflow।कॉम/प्रश्न/550329/कैसे-से-ओपन-ए-फाइल-द-डिफॉल्ट-जुड़े-प्रोग्राम-अन्यथा मुझे पूरा यकीन है कि यदि आप एक पोर्टेबल समाधान चाहते हैं तो आप भाग्य से बाहर हैं। – kay
उस प्रश्न से, मैं किसी भी एप्लिकेशन के साथ फ़ाइल खोलने का कोई तरीका नहीं ढूंढ पाया। लगता है कि 'ओपन' विधि केवल डिफ़ॉल्ट अनुप्रयोग में एक फ़ाइल खोलने लगती है। यहां तक कि यदि आप कर सकते हैं, तो यह मेरे उत्तर से बेहतर समाधान नहीं होगा क्योंकि आपको पाइथन स्क्रिप्ट खोलने के लिए जावा एप्लिकेशन की आवश्यकता होगी। – potato