2011-04-02 53 views
1

我有一个问题,如果我双击我的脚本(.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但不是当我双击?这两个过程有什么区别?

在此先感谢!

回答

1

脚本正试图写入当前目录中的文件。在上面的例子中,你从C:\开始,你可能没有写权限。

cd到你自己的目录,你应该可以很好地运行该命令。

+0

谢谢你们俩!我没有意识到这种行为,并花了我数小时才终于弄清楚了。但是,多亏了你们,这很有用。 – foboi1122 2011-04-02 20:13:16

0

这是因为当您双击文件(或从IDLE运行时)时,当前工作目录是包含脚本的目录。从命令行启动它时,它是C:\,您似乎没有写入权限。

相关问题