Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python编写新的文本文件_Python_File_Python 3.x_Split - Fatal编程技术网

用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')