Python脚本运行时双击和IDLE但不是Windows CMD shell

时间:2011-04-02 20:00:46

标签: python command-line windows-7

我有一个问题,如果我双击我的脚本(.py),或用IDLE打开它,它将编译并运行正确。但是,如果我尝试在Windows命令行中运行脚本,请使用

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中通过命令行运行此脚本时出现权限错误,但是当我双击时却没有?这两个过程有什么区别?

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

cd到您拥有的目录,您应该可以正常运行该命令。

答案 1 :(得分:0)

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