मेरे सहकर्मी ने मुझे एक स्क्रिप्ट बनाने के लिए कहा है जो किसी प्रोग्राम को अपडेट करने के बाद फिर से दिखाई देने वाली विशिष्ट फ़ाइलों को हटा देती है। वह मैन्युअल रूप से प्रत्येक ड्राइव और फ़ोल्डर में जा रही है ताकि अपडेट के बाद जोड़े गए जंक फ़ाइलों को हटा दिया जा सके।
मेरे पास उन फ़ाइल नामों की एक सूची है जिन्हें हमेशा हटाने की आवश्यकता होती है। मैंने अजगर और os.remove का उपयोग करने की कोशिश की, लेकिन कुछ समस्याओं में भाग गया। मुझे साझा नेटवर्क ड्राइव तक पहुंचना होगा, फ़ोल्डरों को दर्ज करना होगा, और उन फ़ाइलों की सूची को हटाना होगा जो वह हमेशा मैन्युअल रूप से हटाती हैं।
मुझे यकीन नहीं है कि नौकरी के लिए पाइथन सही उपकरण है या नहीं। यह शायद बैश या पावरशेल होगा, लेकिन मैं प्रोग्रामिंग में बहुत कुशल नहीं हूं।
अगर किसी के पास यह सुझाव है कि यह कैसे करना सबसे अच्छा है तो मैं आभारी रहूंगा।
यह वह कोड है जो मेरे पास अभी एक उदाहरण के लिए है (फिर से, बहुत कुशल नहीं):
import os
filePaths = ['D:\test\remove.txt', 'F:\test\remove.txt']
os.remove(filePaths)
print("% s has been removed" % filePaths)
यह मुझे बताते हुए एक त्रुटि देता है:
TypeError: remove: path should be string, bytes or os.PathLike, not list
क्या मुझे प्रत्येक पथ और फ़ाइल के लिए एक चर बनाना होगा?
2 जवाब
आप हटाए जाने के लिए सूची के माध्यम से लूप कर सकते हैं।
import os
filePaths = ['D:/test/remove.txt', 'F:/test/remove.txt']
for filePath in filePaths:
try:
print(f"removing {filePath}")
os.remove(filePath)
except OSError as e:
print(f"Failed, {e}")
बैकस्लैश से सावधान रहें, "\t"
टैब कैरेक्टर है। ये सब काम करेंगे
"D:\\test\\remove.txt"
r"D:\test\remove.txt"
"D:/test/remove.txt"
पावरशेल में:
$FilePaths =
@(
'D:\test\remove.txt'
'F:\test\remove.txt'
)
$FilesPaths | Remove-Item
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।