Python创建文件可以在PyScriptor中工作,但不能在IDE中工作?

2024-05-13 20:07:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试使用下面的代码在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"

Tags: 文件代码txt消息权限helloclose错误
2条回答

使用"w"而不是"W""W"是无效的文件模式。而且,file.close应该是file.close(),因为file.close只会返回file对象的close方法,实际上不会调用它。你知道吗

请注意,如果从命令shell内部启动解释器,则当出现错误时,shell不会关闭,因此您可以在那里看到它。这同样适用于使用IDLE。你知道吗

很可能IDE运行的地方的权限是不可写的。你知道吗

要检查:

import os
print(os.path.abspath(os.curdir))

我很肯定,您会发现当前路径会有所不同,这取决于您从哪个IDE运行。大多数ide都有一个设置,可以从哪个路径开始。你也可以通过使用os.chdir来改变你的主目录(或者给open()一个绝对路径,例如open('/home/wayne/test.txt', 'w')

相关问题 更多 >