用python编写新的文本文件
我正在编写一段代码,对一个文本文件进行检查,计算每行中有多少个单词,并且很难将结果(每行包含一个数字的许多行)放入一个新的文本文件中 我的代码:用python编写新的文本文件,python,file,python-3.x,split,Python,File,Python 3.x,Split,我正在编写一段代码,对一个文本文件进行检查,计算每行中有多少个单词,并且很难将结果(每行包含一个数字的许多行)放入一个新的文本文件中 我的代码: in_file = open("our_input.txt") out_file = open("output.txt", "w") for line in in_file: line = (str(line)).split() x = (len(line)) x = str(x) out_file.write(x)
in_file = open("our_input.txt")
out_file = open("output.txt", "w")
for line in in_file:
line = (str(line)).split()
x = (len(line))
x = str(x)
out_file.write(x)
in_file.close()
out_file.close()
但是我得到的文件把所有的数字都放在一行
如何在正在制作的文件中将它们分开?您需要在每行后面添加一行:
out_file.write(x + '\n')
另外,作为处理文件的一种更具python风格的方式,您可以使用语句打开文件,从而在块的末尾关闭文件
您可以使用方法在一行中完成所有这些工作,而不是多次赋值并将长度转换为字符串:
with open("our_input.txt") as in_file,open("output.txt", "w") as out_file:
for line in in_file:
out_file.write('{}\n'.format(len(line.split())))
写入时在文件中添加换行符
in_file = open("our_input.txt")
out_file =open("output.txt", "w")
for line in in_file:
line= (str(line)).split()
x=(len(line))
x=str(x)
out_file.write(x)
#Write newline
out_file.write('\n')
in_file.close()
正如前面的答案所指出的,您需要写一个新行来分隔输出 下面是编写代码的另一种方法
with open("our_input.txt") as in_file, open("output.txt", "w") as out_file:
res = map(lambda line: len(line.split()), in_file)
for r in res:
out_file.write('%d\n' % r)
out\u文件。写入(x+'\n')