从Python文件中传递命令行参数

时间:2018-11-19 21:21:15

标签: python python-3.x

我编写了一个python脚本来运行vb.net项目可执行文件。我遇到的问题是,当我阅读这些行,然后使用for循环将单独的行(IP)用作应用程序的参数时,这是行不通的。但是,当我使用其他字符串时,它确实可以工作。因此,它不会从ipaddress.txt中读取IP,但是如果输入manual作为参数而不是'line',它将获取IP。

import subprocess
f = open('ipaddress.txt')
lines = f.readlines()
f.close()
for line in lines:
   subprocess.Popen(['C:\\Users\\YYYYY\\OneDrive - XXXX
   \\Visual-Studio-Projects\\Map_Tester\\bin\\Map200_Tester.exe', 'line'])

感谢任何详细原因。谢谢。

1 个答案:

答案 0 :(得分:1)

在您的代码中,'line'用引号引起来,表示其为字符串。但是您希望将line读作一个变量,因此只需在for循环中删除line中的引号,即可完成您想要的操作:遍历每个for line in lines:

import subprocess
f = open('ipaddress.txt')
lines = f.readlines()
f.close()
for line in lines:
    subprocess.Popen(['C:\\Users\\YYYYY\\OneDrive - XXXX
    \\Visual-Studio-Projects\\Map_Tester\\bin\\Map200_Tester.exe'], line[:-1])

此编辑将从您的line变量中删除所有换行符。