2015-04-29 5 views
-2

У меня есть следующий код:Как получить имена файлов из параметров командной строки в Python

with open("test.txt", "r") as test, open("table.txt", "w") as table: 
    reader = csv.reader(test, delimiter="\t") 
    writer = csv.writer(table, delimiter="\t") 
    for row in reader: 
     if all(field not in keywords for field in row): 
      writer.writerow(row) 

Как я в состоянии преобразовать его в .py файл, который позволит вам определить table.txt и когда вы запустите его. Так что один должен написать:

Script.py test.txt output.txt 
+0

Проверьте ['argparse'] (https://docs.python.org/dev/library/argparse.html) –

+4

и [sys.argv] (https://docs.python.org/2/library /sys.html#sys.argv) – kosii

+1

Потому что мой вопрос не о 'with', а о возможности определять эти параметры. Но я изменил его сейчас :) – JadenBlaine

ответ

1

Просто используйте sys.argv:

import sys 
import csv 

with open(sys.argv[1], "r") as test, open(sys.argv[2], "w") as table: 
     # more here 

Примечание, sys.argv[0] содержит имя скрипта (в вашем случае, Script.py). Чтобы получить первый аргумент, вы должны получить sys.argv[1]; чтобы получить второй аргумент, вы должны получить sys.argv[2] и так далее.

+1

Я изменил его сейчас и включил ввод и вывод в 'with' :) – JadenBlaine

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