python3从命令终端获取参数并打印输出

时间:2016-09-01 14:29:12

标签: python linux unix input

lines = []
for line in fileinput.input():
    lines.append(line)
    print(line, end='')

enter image description here

我的问题是,如何在程序中输入2并同时打印出input.txt的内容?到目前为止,它将获得2作为文件名并尝试将其作为文件打开,而不是预期的。你在图片中看到了。

2 个答案:

答案 0 :(得分:0)

可以使用python内部的input.txt文件句柄加入sys.stdin文件的内容。 必须使用sys.argv数组加入参数。

这是一个示例脚本。

#!/usr/bin/python
import sys
arg=sys.argv[1] #take first argument
lines=[]
for line in sys.stdin:
  lines.append(line) # save line from stdin to the array. Watch out for memory usage.


print arg
print lines

答案 1 :(得分:0)

@Eugene已经在你的命令中指出:

class MockCar : public Car{
     // Here I assume that original method is const
    MOCK_CONST_METHOD0(GetLicencePlate);
}

TEST(RentalAdministrationAdd, test_add_car_to_empty_administration)
{
    RentalAdministration admin;
    MockCar car;
    EXPECT_CALL(car, GetLicencePlate()).WillOnce(Return("fh-01-ict"));
    EXPECT_TRUE(admin.Add(&car));
}
  

./whale.py '2' < input.txt 被重定向到标准输入流。 input.txt正在进行中   进入argv。

你得到的错误可能是因为你的脚本认为2是要打开的文件。

试试这个:

argv[1]