嗨,我编写了一个简单的程序来从文件夹中读取多个文件并打印 每个文件的内容,但是当我运行该程序时,我注意到有无限的空白行循环正在进行。我知道每个文件的行数不超过50-70行。我在这段代码中缺少什么吗?
import glob
a=open('content.txt','w')
filesname=glob.glob('*.txt')
for line in filesname:
with open(line) as con:
for l in con:
print l
a.write(l+'\n')
a.close()
答案 0 :(得分:0)
您需要打开文件进行读取,然后读取文件对象。假设您尝试将所有文件中的数据聚合到一个文件中,请尝试以下操作:
import glob
a=open('content.txt','w')
filesname=glob.glob('*.txt')
for line in filesname:
with open(line,"r") as con:
fileData=con.read()
a.write(fileData+'\n')
a.close()
答案 1 :(得分:0)
尝试open(line).read()访问文件中的字符串
答案 2 :(得分:0)
用unlimited blank line loop
表示每行之后是空行吗?可以通过删除+\n
并将其放置在for循环之外来解决。另外,您不需要一行一行地写入文件。您可以写入整个文件。以下代码在我的机器上似乎工作正常。
import glob
a=open('content.txt','w')
filesname=glob.glob('*.txt')
for line in filesname:
with open(line) as con:
text = con.read()
print(text)
a.write(text)
a.write('\n')
a.close()
答案 3 :(得分:0)
我发现了自己的问题。这是我的代码:-
import glob
a=open('content.txt','w')
filesname=glob.glob('*.txt')
for line in filesname:
with open(line) as con:
for l in con:
l=l.strip()
if l!="":
print l
a.write(a+'\n')
a.close()