在Python中将文本附加到文件[重复]

Posted

技术标签:

【中文标题】在Python中将文本附加到文件[重复]【英文标题】:Append a text to file? [duplicate] 【发布时间】:2012-03-07 00:59:09 【问题描述】:
    如何检查文件是否存在? 如何将文本附加到文件中?

我知道如何创建文件,但在这种情况下,它会覆盖所有数据:

import io

with open('text.txt', 'w', encoding='utf-8') as file:
    file.write('text!')

*nix 我可以做类似的事情:

#!/bin/sh

if [ -f text.txt ]
    #If the file exists - append text
    then echo 'text' >> text.txt; 

    #If the file doesn't exist - create it
    else echo 'text' > text.txt;  
fi;

【问题讨论】:

open('text.txt', 'a', encoding='utf-8') 这似乎是 Python 3.x,因为您使用 encoding 参数到 open()。对吗? 我用搜索,找不到答案! 【参考方案1】:

使用模式a 而不是w 追加到文件:

with open('text.txt', 'a', encoding='utf-8') as file:
    file.write('Spam and eggs!')

【讨论】:

谢谢,我找不到密钥-a。请告诉我,如何检查文件是否存在? 为什么要检查它是否存在?您是否仅在它不存在时才附加它,这没有意义? @Wooble,只想知道怎么做。 *nix 的解决方案之一:if os.path.exists(filename):

以上是关于在Python中将文本附加到文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将文本附加到文本文件而不替换它Python [重复]

如何在解析云代码中将文本文件附加到山魈邮件?

sh 如何在shell脚本/ bash中将输出附加到文本文件的末尾?

使用system(),fgets和sprintf在C中将文本附加到文件的问题

在Python中将一些数据从txt文件附加到特定的XML标记到xml

使用特定于列的重复过滤器在 Python 中将行附加到 CSV