目前正在自学 Python,并通过编写脚本来读取现有文件并将文本添加到现有文件来学习文件 I/O。脚本一直运行,直到我调用 write() 方法,此时它抛出了一个非特定的异常——这是回溯:
File "test.py", line 13, in <module>
f.write(txt)
IOError: [Errno 0] Error
我的代码:
from sys import argv
script, filename = argv
f = open(filename, 'a+')
print("The contents of %s are:") % filename
print f.read()
txt = raw_input("What would you like to add? ")
f.write(txt)
print("The new contents are:")
print f.read()
f.close()
我的环境是 Win7、PowerShell 和 Notepad++ 中的 Python 2.7.3。
这是什么原因造成的?我将如何解决它?据我了解,a+
访问模式应该允许我读取和附加到文件。将访问模式更改为会r+
产生相同的异常。
说明:
我有一个现有的文本文件 (a.txt),其中包含一个单词,我将其作为参数传递给脚本,如下所示:
python test.py a.txt
我在 Windows 的管理员帐户下。
结果:
至少,添加两个seek()
命令可以解决问题 - 答案帖子中有详细说明。