Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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_Text_Format - Fatal编程技术网

用python脚本格式化文本文件

用python脚本格式化文本文件,python,text,format,Python,Text,Format,我有一个文本文件,它的格式到处都是标签。下面是文本文件现在的样子: "item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", .... 事实上,文本文件应该如下所示: "item1", "item2", "item3", "item4", "item5"

我有一个文本文件,它的格式到处都是标签。下面是文本文件现在的样子:

        "item1", 
        "item2", 
        "item3", 
        "item4", 
        "item5", 
        "item6", 
        "item7", 
        "item8",
        ....
事实上,文本文件应该如下所示:

"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", ....
因此,我猜在原始文件中到处都有额外的选项卡
\t


是否可以用Python脚本重新格式化这个列表?你会怎么做

如果文件不是非常大,请将其作为字符串读取,从字符串中删除制表符,然后将其写回:

with open(file_name) as infile:
  replaced = infile.read().replace("\t","")
with open(another_file, "w") as outfile:
  outfile.write(replaced)

如果文件很大,请使用
.readline()
.write()
逐行读写它(假设它有换行符)。如果没有换行符,请使用
.read(N)
.write()
在循环中一次读写N个字符。在这两种情况下,在写入之前,请用空字符串替换所有制表符。

如果文件的大小不太大,请将其作为字符串读取,从字符串中删除制表符,然后将其写回:

with open(file_name) as infile:
  replaced = infile.read().replace("\t","")
with open(another_file, "w") as outfile:
  outfile.write(replaced)

如果文件很大,请使用
.readline()
.write()
逐行读写它(假设它有换行符)。如果没有换行符,请使用
.read(N)
.write()
在循环中一次读写N个字符。在这两种情况下,在写入之前用空字符串替换所有制表符。

读取文件,使用
str.strip
删除行,同时写入新文件

strip将从行的左侧和右侧剥离制表符、空格或换行符

with open('input.txt', 'r') as f, open('output.txt', 'w') as fo:
    for line in f:
        fo.write(line.strip())
        # fo.write(line.strip() + '\n') # use this if wanna retain new line

读取文件时,使用
str.strip
将行剥离,同时写入新文件

strip将从行的左侧和右侧剥离制表符、空格或换行符

with open('input.txt', 'r') as f, open('output.txt', 'w') as fo:
    for line in f:
        fo.write(line.strip())
        # fo.write(line.strip() + '\n') # use this if wanna retain new line

是否也要替换换行符?是否也要替换换行符?