【发布时间】:2016-02-10 01:17:49
【问题描述】:
我想将文件循环到一个目录中,在这些文件上做一些事情,然后为每个文件写出结果。 但是我的文件无法读取,因为 python 将文件名解释为字符串对象而不是可读文件。 有没有办法避免这种情况?
import re
import os
def create_filename_for_fileout (f1):
fileout_n = f1.replace("TT", "out")
fileout = "C:\\Users\\KP\\Desktop\\FSC_Treetag\\out\\"+str(fileout_n)
return fileout
for file_in in os.listdir('C:\\Users\\KP\\Desktop\\FSC_Treetag'):
filename = str(file_in)
file_out = create_filename_for_fileout(filename)
open(file_in, 'r')
open(file_out, 'w')
content_file = file_in.readlines()
for ln in content_file:
regex = re.compile('(.*\t(ADJ|ADV|NOM|VER:cond|VER:futu|VER:impe|VER:impf|VER:infi|VER:pper|VER:pres|VER:pres|VER:simp|VER:subi|VER:subp)\t(.*))')
res = regex.search(ln)
if res:
# categ = res.group(2)
lemme = res.group(3)
file_out.write(str(lemme)+"\n")
file_out.close()
file_in.close()
结果:
content_file = file_in.readlines()
AttributeError: 'str' object has no attribute 'readlines'
>>>
【问题讨论】:
-
“python 将文件名解释为字符串对象而不是可读文件”是什么意思?
-
@DavidZ
content_file = file_in.readlines() AttributeError: 'str' object has no attribute 'readlines' >>>
标签: python loops file-handling