0

我有一个 Python 2.7 程序,它在最后将一组数据打印到一个文本文件中。如果我将文件导入 Pythonshell,该程序可以完美运行,但如果我尝试使用 Crl+R(也使用 Pythonshell)直接从 Notepad++ 运行脚本,则会出现错误:

Traceback (most recent call last):
  File "C:\Python27\ZeemanLab.py", line 140, in <module>
    with open("Mercury{}at{}A".format(wavelength, B), "w") as f:
IOError: [Errno 13] Permission denied: 'Mercury55at55A'

问题线:

with open("Mercury{}at{}A".format(wavelength, B), "w") as f: 
    f.write('A {}nm lamp in a {}A Magnetic field \n'.format(wavelength, B))

我不知道什么会造成这种差异。

4

2 回答 2

0

添加和打印结果os.getcwd()可能有助于您进行故障排除。也许 Notepad++ 正在从不同的工作目录运行脚本?您是否尝试过使用绝对路径名C:\temp\Mercury{}at{}A

于 2013-08-18T20:17:27.523 回答
0

您需要更改文件的权限,或将其移至具有正确权限的目录。在 windows 7 英语下,这样做的方法是:

  1. 左键单击文件

  2. 点击属性

  3. 新闻安全

  4. 在“组或用户名:”中,选择您的用户并单击编辑。

  5. 设置读写权限。

如果不能,您可能必须更改为 Adminster 用户。然而,最简单的解决方案就是移动项目的文件夹,然后在文档、桌面或其他文件夹中运行它。

于 2013-08-18T20:19:36.707 回答