如何在Python中打开和编辑现有文件?

时间:2014-12-16 02:40:54

标签: python file save

我已经在各种不同的程序上工作了一段时间来练习我的Python,最值得注意的是我选择你自己的冒险游戏,到目前为止已超过1000行。最近,我一直在尝试从Python中编辑文件,我似乎无法弄明白。例如,如果我将变量设置为用户输入,如下所示: input1 = raw_input("What is your favorite food?")然后,假设我想将此文本保存为已存在的.txt文件,例如food.txt。我该怎么做?

5 个答案:

答案 0 :(得分:2)

link可能会有所帮助,

代码如

# Open a file
fo = open("foo.txt", "a") # safer than w mode
fo.write( "Python is a great language.\nYeah its great!!\n");

# Close opend file
fo.close()

答案 1 :(得分:1)

open()内置Python方法(doc)通常使用两个参数:文件路径模式。您有三种主要模式(使用最多):rwa

  • r代表读取,并使open("/path/to/myFile.txt", 'r')打开现有文件,只能读取它(不能编辑),{您可以在this documentation中找到{1}}或其他方法。

  • myFile.readlines()代表,不仅会删除文件中的所有内容(如果存在),还允许您通过w在其上写新内容

  • myFile.write("stuff I want to write")代表追加,并将内容添加到现有文件中,而不会删除可能已写入的内容。这是在向非空文件中添加行时应使用的参数。

使用a完成工作后,一定不要忘记关闭文件,因为只有在完成所有更改,更新,写作的时候才能完成。

添加一行的小片段:

myFile.close()

如果文件内容类似于

f = open("/path/to/myFile.txt", 'a')
f.write("This line will be appended at the end")
f.close()

然后在代码之后的文件看起来像

"Stuff
Stuff which was created long ago"

答案 2 :(得分:0)

打开名为food.txt的文件

f = open('food.txt', 'w')

要写为新行:

f.write("hello world in the new file\n")

如果你想要它在同一行,请删除\ n。

阅读它你可以做例如

print(f.read())

如果你想追加:

with open('food.txt', "a") as f:
    f.write("appended text")

答案 3 :(得分:0)

你的问题有点含糊不清,但如果你正在寻找一种方法来存储价值以供以后使用和轻松检索;您可能想查看ConfigParser。 :)

答案 4 :(得分:0)

我为这项任务找到了漂亮的模块 - in_place,Python 3的例子:

import in_place

with in_place.InPlace('data.txt') as file:
    for line in file:
        line = line.replace('test', 'testZ')
        file.write(line)