मैं पाइथन और दूत का उपयोग कर रहा हूं। मुझे निर्देशिका में सभी फाइलों को हटाने की जरूरत है। कुछ फाइलों के अलावा, निर्देशिका खाली है। एक टर्मिनल में इस होगा:दूत में आरएम * (वाइल्डकार्ड) का उपयोग करना: ऐसी कोई फ़ाइल या निर्देशिका
rm /tmp/my_silly_directory/*
सामान्य बुद्धि तय है कि दूत में, इस में तब्दील हो:
r = envoy.run('rm /tmp/my_silly_directory/*')
हालांकि
:
r.std_err -> "rm: cannot remove `/tmp/my_silly_directory/*': No such file or directory"
स्वाभाविक रूप से इस में दूत का उपयोग करने के विकल्प हैं मामला, मैं बस सोच रहा हूं कि यह क्यों काम नहीं करता है।
कोई सुराग?
यह बिल्कुल सही लगता है, और शायद उपप्रोसेसर के साथ काम करेगा। हालांकि, दूत में, एकमात्र कॉल जो काम करता है वह है 'envoy.run ([[sh "," -c "," rm/tmp/my_silly_directory/* "]])' किसी कारण से। एक सरल 'subprocess' के लिए बहुत कुछ;) –
इसे सबप्रोसेस के साथ काम करने के लिए नहीं मिल सका। मूल प्रश्न के समान त्रुटि। – Nate
@Nate: ['shutil.rmtree ('/ tmp/my_silly_directory /')'] (http://stackoverflow.com/questions/9106350/how-to-use-wildcards-with-envoy?lq=1#comment15551439_9109127) – jfs