Python脚本在双击和IDLE下运行,但在Windows CMD命令行不运行

1 投票
2 回答
1679 浏览
提问于 2025-04-16 14:57

我遇到了一个问题,当我双击我的脚本(.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' 

所以我的问题是,为什么在Windows 7的命令行中运行这个脚本时会出现权限错误,而双击时却没有?这两种运行方式有什么不同呢?

谢谢大家的帮助!

2 个回答

0

这是因为当你双击文件(或者从IDLE运行它)时,当前的工作目录是包含你脚本的那个文件夹。而如果你从命令行启动它,当前的工作目录就是C:\,而你似乎没有权限在这个地方写入文件。

1

这个脚本想要在当前文件夹里写入一个文件。在上面的例子中,你是从 C:\ 开始的,而那里你可能没有写入权限。

你可以用 cd 命令切换到一个你有权限的文件夹,这样你就可以顺利运行那个命令了。

撰写回答