您好我正在寻找一些有关我遇到的问题的帮助。我想搜索我的数据所在的目录(如下所示),仅用于某些文件类型。下面是我的代码,但它不是很正常。
当前输出是两个结果之一。它只打印文件的第一行,只打印空白结果。
好的,这就是我想要做的。我想搜索仅列出csv文件的目录。那么我想要做的是让循环逐行读取每个文件并打印文件中的每一行,然后对其余的csv文件重复此操作。
任何人都可以告诉我如何编辑下面的代码,仅搜索CSV文件,以及如何打印文件中的每一行,然后重复下一个CSV文件,直到找到并打开所有CSV文件。这可能吗?
import os
rootdir= 'C:\Documents and Settings\Guest\My Documents\Code'
def doWhatYouWant(line):
print line
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file,'r')
lines = f.readlines()
f.close()
f=open(file,'wU')
for lines in lines:
newline=doWhatYouWant(line)
f.write(newline)
f.close
感谢您的帮助。
答案 0 :(得分:2)
以下代码有效。我评论了内联修改的内容。
import os
rootdir= 'C:\\Documents\ and\ Settings\\Guest\\My\ Documents\\Code\\'
#use '\\' in a normal string if you mean to make it be a '\'
#use '\ ' in a normal string if you mean to make it be a ' '
def doWhatYouWant(line):
print line
return line
#let the function return, not only print, to get the value for use as below
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(rootdir+file,'r') #use the absolute URL of the file
lines = f.readlines()
f.close()
f=open(file,'w') #universal mode can only be used with 'r' mode
for line in lines:
newline=doWhatYouWant(line)
f.write(newline)
f.close()