2015-01-15 4 views
-4

Для начала у меня мало знаний о python, так как я выполняю это задание как школьный проект. Мне нужно достичь следующего:Вход командной строки сценария Python

создать сценарий, который я могу начать с Windows CMD, и мне нужно добавить список параметров в первые 3 файла в каталоге.

я запустить скрипт следующим образом:

c:\Python34\python.exe c:\Python34\directory.py c:\temp 3 

содержание сценария:

##directory.py### 
import os 
import sys 

dirs = os.listdir(sys.argv[1]) 
print (dirs) 

Проблема в том, что я не думаю, что ключ командной строки «3» вводится в сценарии.

Любая идея, как я могу добиться этого?

+0

Вы понимаете, что означает 'sys.argv [1]'? –

+0

Вы хотите отображать только '3' файлы, поскольку' 3' передается как аргумент? –

+0

Если sys.argv [1] дает вам каталог C: \ temp, что, по вашему мнению, может увеличить ваш индекс? (sys.argv [2]) Попробуйте, и после этого прочитайте учебник python! https://docs.python.org/3.4/tutorial/ – Xeun

ответ

0

Ваш код фактически не ссылается на вторую переменную командной строки. Вы пытаетесь перечислить первые n файлов в каталоге? Если да, попробуйте

import os 
import sys 

dir_arg=sys.argv[1] 
num_arg=int(sys.argv[2]) #need to convert second argument to a number 

dirs=os.listdir(dir_arg) 

print dirs[:num_arg] 
+0

Спасибо, что работает! – Bart1K

0

Как утверждают другие, sys.argv представляет собой просто набор аргументов командной строки, поэтому все, что вам нужно сделать, это изменить индекс, чтобы получить соответствующие значения.

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