当我尝试使用下面的代码在PyScriptor中创建一个新文件时,它可以完美地工作,没有错误,但是当我在PyScriptor之外(例如在IDE中)使用相同的代码时,它只会闪现一个错误并关闭。你知道吗
file = open("file.txt", "w")
file.write("hello")
file.close()
我无法获取错误,因为错误消息在解释器关闭前持续不到一秒钟。你知道吗
帮助找出为什么会发生这种情况,以及如何解决它是感激的。你知道吗
如果这有帮助的话,我将在Windows7上使用Python 2.5.3.0版。你知道吗
[编辑]
感谢kirbyfan64sos和JAB帮我搞错了。事实证明,Python根本没有打开任何文件的权限(r、w、a等),而Pyscriptor拥有所有这些权限,所以问题仍然存在:为什么它们会不同,如何修复它们?你知道吗
我知道它不是文件本身的权限,否则它将无法在Pyscriptor中工作。你知道吗
[错误代码]
Traceback (most recent call last):
File "IDE File test.py", line 1, in <module>
file = open("file.txt", "w")
IOError: [Errno 13] Permission denied: "file.txt"
使用
"w"
而不是"W"
。"W"
是无效的文件模式。而且,file.close
应该是file.close()
,因为file.close
只会返回file
对象的close
方法,实际上不会调用它。你知道吗请注意,如果从命令shell内部启动解释器,则当出现错误时,shell不会关闭,因此您可以在那里看到它。这同样适用于使用IDLE。你知道吗
很可能IDE运行的地方的权限是不可写的。你知道吗
要检查:
我很肯定,您会发现当前路径会有所不同,这取决于您从哪个IDE运行。大多数ide都有一个设置,可以从哪个路径开始。你也可以通过使用
os.chdir
来改变你的主目录(或者给open()
一个绝对路径,例如open('/home/wayne/test.txt', 'w')
)相关问题 更多 >
编程相关推荐