如果我在一个目录C中有多个文件,并且我想写一个代码读取(自动)所有文件并处理每个文件,然后为每个输入文件编写一个输出文件。读取多个文件并写入多个输出文件
例如,在目录C I具有以下文件:
aba
cbr
wos
grebedit
scor
提示:这些文件是没有明显的扩展
然后该程序读取这些文件逐一处理,然后写输出在目录中:
aba.out
cbr.out
wos.out
grebedit.out
scor.out
如果我在一个目录C中有多个文件,并且我想写一个代码读取(自动)所有文件并处理每个文件,然后为每个输入文件编写一个输出文件。读取多个文件并写入多个输出文件
例如,在目录C I具有以下文件:
aba
cbr
wos
grebedit
scor
提示:这些文件是没有明显的扩展
然后该程序读取这些文件逐一处理,然后写输出在目录中:
aba.out
cbr.out
wos.out
grebedit.out
scor.out
请允许我引导您到tutorial。一般来说,当你对文件IO感到满意时,这里有一个基本的工作流程供你展开。
def do_something(lines):
output = []
for line in lines:
# Do whatever you need to do.
newline = line.upper()
output.append(newline)
return '\n'.join(output) #
listfiles = ['aba', 'cbr', 'wos', 'grebedit', 'scor']
for f in listfiles:
try:
infile = open(f, 'r')
outfile = open(f+'.out', 'w')
processed = do_something(infile.readlines())
outfile.write(processed)
infile.close()
outfile.close()
except:
# Do some error handling here
print 'Error!'
如果你需要从所有文件建立在一定的目录列表,使用os
模块。
import os
listfiles = os.listdir(r'C:\test')
如果有500个文件,我想自动读取它们? – Peace 2013-03-12 19:32:40
@ user2152825如果你想自动读取目录中的所有文件,你应该把它写在你的问题中,而不是在评论他人的答案。不过,我已经编辑了我的答案。 – 2013-03-12 19:37:39
[你有什么尝试?](http://whathaveyoutried.com/) – millimoose 2013-03-12 19:23:42
我没有任何想法如何做到这一点。 – Peace 2013-03-12 19:24:33
@ user2152825 - 打破你的问题,思考你现在怎么做。你知道如何获得目录中的文件列表吗?你知道如何从一个文件读取数据吗?你知道如何建立输出文件的名称吗?你知道如何写入一个输出文件吗?你知道如何构建一个循环吗?尝试其中一项任务,并在遇到困难时向我们寻求具体帮助。如果你不知道如何去做这些事情,请尝试阅读Python教程,例如[this one](http://docs.python.org/2/tutorial/)。 – 2013-03-12 19:27:24