Сценарий Python запускается с двойным щелчком мыши и IDLE, но без оболочки Windows CMD - PullRequest
1 голос
/ 03 апреля 2011

У меня проблема с тем, что если дважды щелкнуть мой скрипт (.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 ]

1 голос
/ 03 апреля 2011

Сценарий пытается записать в файл в текущем каталоге. В приведенном выше примере вы начинаете его с C:\, где у вас, вероятно, нет прав записи.

cd в каталог, который у вас есть, и вы сможете нормально выполнить эту команду.

0 голосов
/ 03 апреля 2011

Это потому, что когда вы дважды щелкаете файл (или запускаете его из IDLE), текущим рабочим каталогом является каталог, содержащий ваш скрипт. При запуске из командной строки это C:\, к которому у вас нет прав на запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...