我有一个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))
我对这会产生什么影响毫无头绪。
答案 0 :(得分:0)
添加和打印os.getcwd()
的结果可能有助于您排除故障。也许Notepad ++从不同的工作目录运行脚本?您是否尝试过使用C:\temp\Mercury{}at{}A
等绝对路径名?
答案 1 :(得分:0)
您需要更改文件的权限,或将其移动到具有适当权限的目录。 在Windows 7英语下,这样做的方法是:
左键单击文件
点击属性
按安全
在“群组或用户名:”中,选择您的用户并点击修改。
将permerssion设置为读写。
如果不能,则可能需要更改为Adminster用户。然而,最简单的解决方案就是移动项目的文件夹,并在文档,桌面或其他文件夹中运行它。