Я новичок в использовании труб и ввода-вывода в python, и я использовал sys.stdin.readlines()
из файла.Трубы и аргументы в python
Как вы читаете дополнительный аргумент? Например:
more input.txt | python program.py 200
Я хочу сохранить, что «200» в качестве переменной (межд) в моей программе использовать.
Моя попытка:
number = int(sys.argv[1])
Для целей тестирования я просто напечатал
print number
, но я не получил '200'.
Лучшее объяснение:
У меня есть два файла, 'test.txt' и 'test.py'
test.py
#!/usr/bin/python
import sys
line = ""
for n in [line for line in sys.stdin.readlines()]:
print n
При запуске
$ more test.txt | python test.py
распечатать
asdfsdf 200
sldkfjs 100
kljslkd 300
Моя цель состоит в том, чтобы просто распечатать строку с номером я прохожу в качестве аргумента
Моя попытка:
test.py
#!/usr/bin/python
import sys
number = int(sys.argv[1])
line = ""
for n in [line for line in sys.stdin.readlines()]:
if n.split()[1] == number:
print n
n.split() [1] должно быть число из каждой строки в файле правильно? При запуске
$ more test.txt | python test.py 200
То, что я хочу вернуться в:
asdfsdf 200
Но вместо того, чтобы это пустое ...
Looks и работает для меня. Я не уверен, в чем проблема. –
@ Scott Carpenter извините за это, я обновил вопрос лучшим примером –