我有一個文件夾,裏面有40個文件,我想循環播放。當我打印出了名的文件我的代碼工作正常:Unabe用Python循環播放文件
import os
source = 'pathtofile'
for root, dirs, filenames in os.walk(source):
for file in filenames:
print file
它會打印:
文件1
文件2
文件3
.....
文件40
但是,如果我嘗試打開循環中的文件/文件,我得到以下錯誤。 IO錯誤:IO錯誤:[錯誤2]沒有這樣的文件或目錄:「file.txt的」
這是我有問題的代碼:
import os
import re
destdir = 'pathtofile'
files = [ f for f in os.listdir(destdir) if
os.path.isfile(os.path.join(destdir,f)) ]
for f in files:
with open(f, 'r') as var1:
for line in var1:
if re.match('(.*)exception(.*)', line):
print line
我已經驗證和字符串我正在尋找,它確實存在於文件中。
您能否提供一些有關我的代碼出現問題的信息?謝謝。
'F'仍然只是文件名,因爲你把它定義的是方法:'爲文件名中的f:'爲什麼用'log = open(...)'行替換'open(...)作爲f:'行? –
謝謝哈克。我正在對兩者進行試驗,因爲在某些帖子中,我讀到它需要完整的路徑,並嘗試使用和不使用完整路徑。 –
是的,但'log ='搞砸了。你不會在任何地方使用'log',並且當你爲'f'中的行寫''時,'f'就是_filename_。你的第一次嘗試更接近,但錯過了完整的路徑。 –