python中的管道和参数
我是python中使用管道和I/O的新手,我一直在使用文件中的python中的管道和参数,python,io,pipe,Python,Io,Pipe,我是python中使用管道和I/O的新手,我一直在使用文件中的sys.stdin.readlines() 你如何理解另一个论点? 例如: more input.txt | python program.py 200 我想将“200”作为变量(int)存储在我的程序中以供使用 我的尝试: number = int(sys.argv[1]) 出于测试的目的,我只是打了一下 print number 但我没有拿到200分 更好的解释: 我有两个文件,“test.txt”和“test.py” t
sys.stdin.readlines()
你如何理解另一个论点?
例如:
more input.txt | python program.py 200
我想将“200”作为变量(int)存储在我的程序中以供使用
我的尝试:
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
#!/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
跑步时
$ more test.txt | python test.py
$ more test.txt | python test.py 200
它会打印出来的
asdfsdf 200
sldkfjs 100
kljslkd 300
我的目标是打印出带有作为参数传递的数字的行
我的尝试:
number = int(sys.argv[1])
test.py
#!/usr/bin/python
import sys
line = ""
for n in [line for line in sys.stdin.readlines()]:
print n
#!/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
$ more test.txt | python test.py 200
我想回报的是:
asdfsdf 200
但是它是空白的…我无法复制您的问题 这是我的档案:
#!/usr/bin/env python
import sys
number = int(sys.argv[1])
print number
使用more input.txt | python program.py 200从命令行运行,输出为200
您可以尝试打印str(sys.argv)
以准确调查sys.argv中的内容我无法复制您的问题
这是我的档案:
#!/usr/bin/env python
import sys
number = int(sys.argv[1])
print number
使用more input.txt | python program.py 200从命令行运行,输出为200
您可以尝试print str(sys.argv)
来准确地调查sys.argv中的内容对我来说是正确的。我不确定这里有什么问题。@Scott Carpenter很抱歉,我用了一个更好的例子更新了这个问题,看起来很适合我。我不确定这里有什么问题。@Scott Carpenter很抱歉,我用了一个更好的例子更新了问题抱歉,我创建了一个测试情境并在我的问题中进行了更新。抱歉,我创建了一个测试情境并在我的问题中进行了更新。