python3 का उपयोग करना, os.walk
करने के लिए फ़ाइलों की एक निर्देशिका उम्मीद है, (स्ट्रिंग?) एक द्विआधारी वस्तु में उन्हें पढ़ने और उन पर कुछ आगे की प्रक्रिया है। पहला कदम है, हालांकि: कैसे फ़ाइल (रों) os.walk
के परिणामों को पढ़ने के लिए?फ़ाइल से फ़ाइल सामग्री को कैसे पढ़ा जाए?
# NOTE: Execute with python3.2.2
import os
import sys
path = "/home/user/my-files"
count = 0
successcount = 0
errorcount = 0
i = 0
#for directory in dirs
for (root, dirs, files) in os.walk(path):
# print (path)
print (dirs)
#print (files)
for file in files:
base, ext = os.path.splitext(file)
fullpath = os.path.join(root, file)
# Read the file into binary? --------
input = open(fullpath, "r")
content = input.read()
length = len(content)
count += 1
print (" file: ---->",base,"/",ext," [count:",count,"]", "[length:",length,"]")
print ("fullpath: ---->",fullpath)
त्रुटि:
Traceback (most recent call last):
File "myFileReader.py", line 41, in <module>
content = input.read()
File "/usr/lib/python3.2/codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in position 11: invalid continuation byte
Tks, Lennart - हाँ, यह गुप्त सॉस मैं जरूरत थी। किंडा नया पायथन 3! – DrLou
यह वास्तव में अजगर है कि 3 विशिष्ट नहीं है। पाइथन 2 में 'बी' ध्वज के साथ बाइनरी फाइलों को भी खोला जाना चाहिए। –
हाँ, यह सब थोड़े पीछे मुड़कर देखें तो मेरे लिए गूंगा लगता है - लेकिन यह है कि हम कैसे बेवकूफ सीखना है! आप शायद सोच रहे हैं: आरटीएफएम! मदद के लिए फिर से धन्यवाद। – DrLou