2015-02-19 3 views
-1

Я пытаюсь запустить интерпретатор python, введя python в свой терминал. Я также хочу передать некоторые аргументы командной строки. Если я попробую python arg1, это то, что я пытаюсь открыть и запустить сценарий под названием arg1. Итак, мой вопрос: как передать параметры командной строки на python в режиме интерпретатора командной строки?Как передать аргументы командной строки python из режима командной строки

+0

Читайте на 'argparse' модуля, если вы хотите написать свою собственную программу, которая принимает аргументы командной строки (неясно, что именно это вы хотите сделать). –

+1

Непонятно, если у вас возникли проблемы с попыткой передать аргументы интерпретатору python, вашему скрипту или возникли проблемы с доступом к ним внутри сценария – goncalopp

ответ

2

Вы уже являетесь.

arg1 аргумент командной строки - интерпретатору python.


Может быть, вы думаете вариант линии в команды? (который действительно является конкретным типом аргумента командной строки)

Использование аргумента -h (python -h) напечатает все такие параметры.

python -Q new, например, по умолчанию запускает интерпретатор с новым поплавковым подразделением.


С другой стороны, если вы хотите передать аргументы командной строки для вашего сценария, вам нужно указать их после имя сценария: python my_script.py arg1

Если вы на UNIX основе система, вы можете также использовать shebang на ваш сценарий, который позволит вам просто выполнить сценарий по имени, пропуская python:

#!/usr/bin/env python 
#your script here 

затем запустить ./my_script.py arg1

1

Простой способ сделать это с помощью модуля подпроцесса и входных переменных.

Примером может быть:

from subprocess import call 
x = raw_input('Which command line arguments? ') 
call(x, shell=True) 

Попробуйте с ls командой (dir для пользователей Windows), он должен работать.

+1

В вашем примере не передается какая-либо командная строка ** arguments ** - это просто выполнение программы без каких-либо. Вам нужно будет использовать 'call (x, shell = True)', чтобы фактически принимать аргументы из 'raw_input'. Я не думаю, что OP пытается запустить другой процесс, но это не совсем понятно. – goncalopp

+0

Вы совершенно правы. Я тестировал его только с помощью IDLE. Я уже редактировал его. благодаря – leal26

1

Вы можете получить доступ к аргументам командной строки с помощью sys.argv

import sys 
print sys.argv 

% питон scrpt.py ABCD

выходы: ['scrpt.py', 'a', 'b', 'c', 'd']

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