2015-11-24 2 views
-1

У меня возникли проблемы с использованием sys.argv, чтобы иметь возможность запускать программу из командной строки. Я запускаю IDLE 3.5. Я попытался запустить программу ниже как с помощью командной строки, так и с командной строки Python (3.5). На обоих я получаю сообщение об ошибке:Командная строка Python Аргумент sys.argv не работает

в Python (3.5):

>>> python testing.py 
    File "<stdin>", line 1 
    python testing.py 
       ^
SyntaxError: invalid syntax 
>>> 

в командной строке:

C:\Users\Brice_000>python testing.py 
python: can't open file 'testing.py': [Errno 2] No such file or directory 

testing.py гласит:

import sys 

def main(): 
    print sys.argv 


if __name__ == "__main__": 
main(sys.argv) 

Учебник Я наблюдал, как показывает, что этот файл python при выполнении из командной строки возвращает только имя программы «testing.py»

У меня есть подозрение, что как-то возникает проблема с файловыми каталогами, и когда командная строка пытается открыть файл, его там нет.

Кто-нибудь знает, как я могу разобраться, в чем проблема? И если да, то как я могу это исправить?

Извините, если мой вопрос здесь плохо сформирован. Я новичок в python и stackoverflow, и я действительно не знаю, что я делаю.

Выход реж:

C:\Users\Brice_000>dir 
Volume in drive C has no label. 
Volume Serial Number is 60E5-73E9 

Directory of C:\Users\Brice_000 

11/01/2015 04:45 PM <DIR>   . 
11/01/2015 04:45 PM <DIR>   .. 
11/01/2015 04:47 PM <DIR>   .gimp-2.8 
11/01/2015 05:07 PM <DIR>   .idlerc 
06/21/2015 09:20 PM <DIR>   .jagex_cache_32 
08/23/2015 08:00 PM <DIR>   .oracle_jre_usage 
01/11/2013 03:59 PM <DIR>   .swt 
11/01/2015 04:45 PM <DIR>   .thumbnails 
09/15/2015 10:12 PM <DIR>   3D Objects 
10/14/2015 08:48 AM <DIR>   Contacts 
08/29/2015 04:28 PM <DIR>   Creative Cloud Files 
11/16/2015 05:08 PM <DIR>   Desktop 
11/20/2015 11:32 PM <DIR>   Documents 
11/24/2015 02:26 PM <DIR>   Downloads 
04/08/2013 10:26 PM <DIR>   Dropbox 
01/12/2013 01:16 PM <DIR>   dumps 
10/14/2015 08:48 AM <DIR>   Favorites 
06/21/2015 09:37 PM    23 jagexappletviewer.preferences 
02/26/2013 06:31 PM <DIR>   jagexcache 
06/21/2015 09:21 PM <DIR>   jagexcache1 
02/19/2013 07:45 PM    50 jagex_cl_loginapplet_LIVE.dat 
05/13/2014 10:34 PM    48 jagex_cl_oldschool_LIVE.dat 
06/21/2015 09:21 PM    48 jagex_cl_runescape_LIVE.dat 
06/21/2015 09:21 PM    49 jagex_cl_runescape_LIVE1.dat 
10/14/2015 08:48 AM <DIR>   Links 
10/20/2015 05:30 AM <DIR>   Music 
11/05/2015 12:42 AM <DIR>   OneDrive 
10/28/2015 08:50 PM <DIR>   Pictures 
06/22/2015 12:32 AM    24 random.dat 
10/14/2015 08:48 AM <DIR>   Saved Games 
10/14/2015 08:48 AM <DIR>   Searches 
08/04/2015 08:35 PM <DIR>   SkyDrive 
02/25/2014 03:54 AM <DIR>   SkyDrive (2).old 
04/07/2014 01:55 PM <DIR>   SkyDrive (3).old 
02/16/2014 02:50 PM <DIR>   SkyDrive.old 
03/12/2015 08:15 PM <DIR>   Tracing 
10/14/2015 08:48 AM <DIR>   Videos 
       6 File(s)   242 bytes 
       31 Dir(s) 49,005,813,760 bytes free 
+1

Вам нужно запустить 'python filename.py' ** в командной строке **, а не в интерпретаторе Python. Вы уверены, что находитесь в правильном каталоге, когда пытаетесь это сделать? – jonrsharpe

+0

Я думал, что был? Я использую Python 3.5 (командная строка - 32 бит) –

+0

Не когда вы получаете 'SyntaxError', вы этого не делаете! – jonrsharpe

ответ

1

Похоже, вы бежите от интерпретатора.

Вам нужно запустить это в командной строке (Terminal on OS X, Command Prompt? В Windows).

# terminal or command prompt! 
python testing.py 

Это означает, что вы сообщите Python о выполнении сценария testing.py.

+0

Wobba Wob! Я использую Python 3.5 (командная строка - 32 бит), это неверно? –

+1

Вы находитесь в так называемой оболочке Python. Это означает, что Python будет оценивать каждую предоставленную вами команду, в отличие от оболочки, которая делегирует сценарий для запуска на python. Вы в ИДЕЛЕ? – Zizouz212

+0

yes Я использую IDLE –

Смежные вопросы