【问题标题】:Python script runs with double-click and IDLE but not windows CMD shellPython脚本通过双击和IDLE而不是Windows CMD shell运行
【发布时间】:2011-07-28 09:16:25
【问题描述】:

我有一个问题,如果我双击我的脚本 (.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 中通过命令行运行此脚本时会出现权限错误,但双击时却没有?这两个流程有什么区别?

提前致谢!

【问题讨论】:

    标签: python command-line windows-7


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢你们!我不知道这种行为,我花了几个小时才最终弄清楚。但感谢你们,它正在工作。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多