Python脚本运行双击和IDLE但不是Windows CMD shell
问题描述:
我有一个问题,如果我双击我的脚本(.py),或者用IDLE打开它,它会编译并运行正确。但是,如果我尝试在我的Windows命令行运行脚本,使用Python脚本运行双击和IDLE但不是Windows CMD shell
C:\> "C:\Software_Dev\Python 2.7.1\python.exe" C:\path\to\script\script.py
我得到...
Traceback (most recent call last):
File "C:\path\to\script\script.py", line 66, in <module>
a.CheckTorrent()
File "C:\path\to\script\script.py", line 33, in script
self.WriteLog(fileName)
File "C:\path\to\script\script.py", line 54, in WriteLog
myFile = open(r'%s' %(filename), 'w')
IOError: [Errno 13] Permission denied: './TorrentMonitor.log'
所以我的问题是,为什么我得到许可错误,当我运行这个脚本通过命令行在窗口7但不是当我双击?这两个过程有什么区别?
在此先感谢!
答
脚本正试图写入当前目录中的文件。在上面的例子中,你从C:\
开始,你可能没有写权限。
cd
到你自己的目录,你应该可以很好地运行该命令。
答
这是因为当您双击文件(或从IDLE运行时)时,当前工作目录是包含脚本的目录。从命令行启动它时,它是C:\
,您似乎没有写入权限。
谢谢你们俩!我没有意识到这种行为,并花了我数小时才终于弄清楚了。但是,多亏了你们,这很有用。 – foboi1122 2011-04-02 20:13:16