for subdir, dirs, files in os.walk(crawlFolder):
for file in files:
print os.getcwd()
f=open(file,'r')
lines=f.readlines()
writeFile.write(lines)
f.close()
writeFile.close()
我收到的错误是: -
IOError:[Errno 2]没有这样的文件或目录
参考上面我的部分python代码: -
print os.getcwd() - > C:\ search engine \ taxonomy
但是,该文件位于“C:\ search engine \ taxonomy \ testFolder”目录中
我知道错误是因为它在当前目录中工作,我需要以某种方式将目录testFolder附加到文件中。有人可以请更正我的代码并帮我解决这个问题吗? 谢谢。
答案 0 :(得分:3)
subdir
变量为您提供从crawlFolder
到包含file
的目录的路径,因此您只需将os.path.join(crawlFolder, subdir, file)
传递给open
而不是file
裸for subdir, dirs, files in os.walk(crawlFolder):
for file in files:
print os.getcwd()
f=open(os.path.join(crawlFolder, subdir, file),'r')
lines=f.readlines()
writeFile.write(lines)
f.close()
writeFile.close()
。像这样:
for subdir, dirs, files in os.walk(crawlFolder):
for file in files:
print os.getcwd()
f=open(os.path.join(crawlFolder, subdir, file),'r')
writeFile.writelines(f)
f.close()
writeFile.close()
顺便说一句,这是将文件复制到另一个文件的更有效方法:
for subdir, dirs, files in os.walk(crawlFolder):
for file in files:
writeFile.writelines(open(os.path.join(crawlFolder, subdir, file)))
writeFile.close()
[编辑:无法抗拒打高尔夫球的诱惑:
{{1}}
<强> 强>