मैंने सरल पायथन लिपि लिखी है जो मुझे दी गई निर्देशिका के सबफ़ोल्डर्स के सबफ़ोल्डर्स और सबफ़ोल्डर्स के पूर्ण पथों की एक सूची प्रदान करती है। फिर सूची फाइल करने के लिए लिखी जाती है। मेरा अगला लक्ष्य निर्देशिकाओं (chmod, chgrp आदि) की अनुमतियों में हेरफेर करने के लिए किसी तरह उस फ़ाइल को पार्स करना होगा।
यहाँ कुछ (MS Windows) पथों वाली फ़ाइल का एक स्निपेट है, लेकिन वास्तव में मैं इसे यूनिक्स मशीन/एस पर उपयोग करूँगा।
C:\Users\Me\Desktop\gopro\New folder\1
C:\Users\Me\Desktop\gopro\New folder\2
C:\Users\Me\Desktop\gopro\New folder\3
C:\Users\Me\Desktop\gopro\New folder\4
मैं इसे पूरा करने के सर्वोत्तम तरीके पर किसी भी विचार की सराहना करता हूं। मैं एक पायथन नौसिखिया हूँ इसलिए इसे ध्यान में रखें।
2 जवाब
चूंकि आपने MS Windows का उल्लेख किया है, आप subprocess.run
का उपयोग कर सकते हैं, जो मूल रूप से आपके शेल में कमांड चलाता है।
import subprocess
with open("somefile.txt") as txtfile:
for each_path in txtfile.readline():
subprocess.run(
["chmod", "777", each_path],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
shell=True,
)
मैं इस प्रश्न को गलत समझ सकता हूं, लेकिन मुझे लगता है कि यदि आप निर्देशिकाओं पर शेल कमांड चलाना चाहते हैं, तो आप यही खोज रहे हैं:
import os # this is insecure, so USE WITH CAUTION (never in production).
with open('list_of_directories.txt') as f:
for folder_name in f.readlines(): # read each line from the file.
os.system("chmod 777 {}".format(folder_name)) # os.system lets you run shell commands.
# ...
कृपया ध्यान दें कि जबकि os.system() समस्या को हल करने का सबसे आसान तरीका है, यह बेहद असुरक्षित है। इसे उत्पादन स्क्रिप्ट पर कभी भी उपयोग न करें, लेकिन यह त्वरित उपयोगिता स्क्रिप्ट के लिए ठीक है, जैसा कि मुझे लगता है कि यह आपका उपयोग मामला है।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।