如何在文件顶部添加新的文本行?

Xer*_*erz 3 python file-io python-2.7

我正在开发一个简单的程序,它使Python脚本可执行,我正在添加解释器路径的部分(#!/ usr/bin/python).我尝试这样做,但它不是添加新行,而是替换当前行删除下一行的一部分.我做错了什么?

我将源代码上传到Ubuntu Pastebin:http://pastebin.ubuntu.com/1032683/ 错误的代码在第28行和第31行之间:

wfile = open(file, 'r+')
if wfile.readline() != "#! /usr/bin/python\n":
    wfile.seek(0)
    wfile.write("#! /usr/bin/python\n")
Run Code Online (Sandbox Code Playgroud)

使用带有iPad 2的Python 2.7.2(适用于iOS的Python),也可以在同一个iPad(Cydia端口)中使用2.5.1进行测试.

Joe*_*Joe 6

你无法做你想做的事.寻找文件的开头并进行写操作将从该位置覆盖,而不是追加.

在文件的中间(或开头)添加一行的唯一方法是写出一个新文件,并将数据插入到您想要的位置.

  • @ espectalll123:乔是绝对正确的.任何解决方案都要求你"读取"文件的全部内容,在开头插入一行,然后将整个内容"写()"返回到文件中. (2认同)