मुझे मॉड्यूल पर कुछ प्रश्न मिल गए हैं लेकिन अधिक आम समस्या को तर्क सूची मिल रही है, जो मुझे लगता है कि मैंने प्रबंधित किया है (अंततः)पायथन subprocess.call() "ऐसी कोई फ़ाइल या निर्देशिका नहीं"
मैं एक प्रोग्राम है जो आदेश पंक्ति में इस तरह एक इनपुट की उम्मीद को चलाने के लिए कोशिश कर रहा हूँ,
fits2ndf in out
साथ 'में'
फ़ाइल के filepath जा रहा है परिवर्तित करने के लिए किया जा और 'बाहर' करने के लिए पथ और फ़ाइल नाम किया जा रहा है परिणाम को बचाओ।
तो उपप्रक्रिया का उपयोग कर,
subprocess.call(["fits2ndf","/media/tom_hdd/Transfer/reference.fits","/media/tom_hdd/Transfer/reference.sdf"])
इस जन्म देती है,
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
स्थापना shell=TRUE
(मैं जानता हूँ कि जो बुरा है) एक ही परिणाम पैदा करता है। सुनिश्चित नहीं है कि यह प्रासंगिक है लेकिन मैं tcsh का उपयोग कर रहा हूँ। कोई सुझाव? सवालों के जवाब में
संपादित
मैं स्थायी रूप से पथ सेट नहीं किया है लेकिन fits2ndf
जो मैं
% tcsh
% setenv STARLINK_DIR /home/tomq/star-kapuahi
% source $STARLINK_DIR/etc/login
% source $STARLINK_DIR/etc/cshrc
का उपयोग कर प्रारंभ कार्यक्रमों की एक पैकेज का हिस्सा है और सामान्य रूप से किसी भी भीतर से काम करता है पूर्ण पथ निर्दिष्ट किए बिना निर्देशिका।
अपने रास्ते में 'fits2ndf' है? –
क्षमा करें, मैं आपके प्रश्न को काफी समझ नहीं पा रहा हूं, fits2ndf किसी अन्य निर्देशिका में निहित है लेकिन पूर्ण पथ के बिना कहीं और ठीक चला गया है, लेकिन यह .fit फ़ाइल के पथ का हिस्सा नहीं होना चाहिए। – user1889259
@ कार्तिक आपके पाथ पर्यावरण चर का जिक्र कर रहा था। क्या निर्देशिका है जिसमें आपके $ PATH में 'fits2ndf' है, और पाथ निर्यात किया गया है? – cdarke