python - 用python写文件的正确方法

标签 python file file-io

我有一个将列表内容写入文本文件的函数。对于列表中的每个元素,它将元素写入文本文件,每个元素都有自己的新行。

def write_file(filename):
    name_file = filename
    filename = open(name_file, 'w')

    for line in list:
        if line == len(list)-1:
            filename.write(line)
        else:
            filename.write(line+'\n')
    filename.close()

我倾向于注意到一个错误,即在文本文件的最后一行生成一个空的换行符,我想知道我是否正确地编写了文件?

假设我的列表包含 [1,2,3,4] 并将其写入文本文件会给我

1
2
3
4
#in some cases, an empty newline is printed here at the end

由于 '\n',我不知道如何检查写入函数是否在最后生成了额外的一行,所以如果有人能给我一些反馈,我将不胜感激。

最佳答案

与其多次写入缓冲区,不如执行一个.join,然后将结果写入一次:

with open(filename, 'w') as fp:
    fp.write('\n'.join(your_list))

关于python - 用python写文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46320664/

相关文章:

java - 必须使用 Java 正则表达式的什么语法来捕获行的最后一部分(帖子中的详细信息)?

Python 脚本失败并下降 0 CPU 使用率

python - 如何用 pandas 列制作出现矩阵

python - 满足一定条件时移除元素

python - 如何将 Traceback 错误信息保存到文件中

java - 在 Windows 中使用 Java 保护文件

c - 将结构读/写到二进制文件中

python - 在 Django 中将 UploadedFile 转换为 PIL 图像

file - 使用 BufReader 逐行读取文件,存储到数组中

c++ - 从文件输入 C++ 定义全局变量