2015-09-16 2 views
0

Мой текущий скрипт разработан таким образом, что мне нужно ввести 3 строки, прежде чем мне удастся открыть определенный сайт.Как ввести команду в скрипт python

мой код называется genius.py

Я хотел бы знать, как сделать это в одной строке например,

genius.py eminem lose yourself 

Мой текущий код:

#!/usr/bin/python 

import webbrowser 

artist = raw_input("Enter artist name: ") 
song = raw_input("Enter song name: ") 

artist = artist.replace(" ", "-") 
song = song.replace(" ", "-") 

webbrowser.open("http://genius.com/"+artist+"-"+song+"-lyrics") 
+0

Вы ищете аргументы командной строки? –

ответ

1

аргументы командной строки в sys.argv массиве.

import sys 
artist = sys.argv[1] 
song = sys.argv[2] 

Вам нужно процитировать имена, содержащие пробелы:

genius.py "the beatles" "a day in the life" 

В противном случае нет никакого способа узнать, где художник заканчивается и начинается песня.

-1
import webbrowser 

webbrowser.open('http://genius.com/{0}-{1}-lyrics'.format(raw_input('Enter artist name: ').replace(' ', '_'), raw_input('Enter song name: ').replace(' ', '_'))) 
+2

он хочет иметь возможность вводить все входные значения в одной строке, а не делать это в одной строке кода Python. – Barmar

0

Вы можете использовать модуль SYS;

import sys 
print sys.argv 

Или вы можете использовать более профессиональный модуль, как argparse

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