2013-08-11 1 views
1

Одна команда передается интерпретатор Python с помощью опции «-c» работает отлично:Передача нескольких строк в Python интерпретатор через «-c» вариант

$ python3 -c "print('Hi')" 
Hi 
$ 

Однако, я не мог понять, как отправьте несколько строк (из командной строки Windows), так как операторы сгруппированы по отступу. Передача нескольких строк в одной строке не будет работать.

Linux-терминал поддерживает несколько строк с символом новой строки в качестве аргумента:

$ python3 -c " 
>import sys 
>print(sys.argv[0])" 
$ -c 

Но в Windows, не представляется возможным, так как команда получить прекращается с переводом строки

$ python3 -c " 

$ 

Как выполнить эту работу в командной строке Windows?

Я просто проверяю варианты интерпретатора Python, поэтому я не ищу никакого решения обходного решения!

+0

это возможно в Linux терминале, мой вопрос заключается в том, чтобы сделать то же самое в окне командной строки. – ParokshaX

+0

Помогает ли мой ответ? –

ответ

4

Здесь вы можете использовать оператор ^. Что-то вроде

C:\>python3 -c "print('Hai')" 
Hai 

C:\>python3 -c "import sys; print(sys.argv)" 
['-c'] 

C:\>python3 -c^
More? "import sys;^
More? print(sys.argv)" 
['-c'] 

И,

C:\>python3 -c^
More? "if 2*2 == 4:^
More?  print('Testing')" 
Testing 

И,

C:\>python3 -c^
More? "if True:^
More?  print('First Line');^
More?  print('Second Line')" 
First Line 
Second Line 
+0

Да, это работает .. спасибо .. кажется ';' необходимо для новой строки – ParokshaX

+1

Это синтаксис Python. Вы можете попробовать «if True: print (« FirstLine »); print («SecondLine») 'и он будет работать в интерпретаторе. –