我想定义一个函数,以便我希望它接受命令行参数
下面是我的代码
def tc1(resloc):
from uiautomator import Device;
'Do some activity'
with open(resloc, 'a') as text_file:
text_file.write('TC1 PASSED \n')
text_file.close()
else:
with open(resloc, 'a') as text_file:
text_file.write('TC1 FAILED \n')
text_file.close()
if __name__ == '__main__':
tc1("C:\\<pathtoautomation>\\Results\results.txt")
现在当我从python执行相同的using命令行时,它继续引用这里提到的路径tc1("C:\\<pathtoautomation>\\Results\results.txt")
并且不考虑我从命令行传递的内容
\Scripts>python.exe trail.py C:\\<pathtoautomationresults>\\Results\results.txt
答案 0 :(得分:0)
您所看到的是sys.argv
传递给Python脚本的命令行参数列表。的argv [0] 是脚本名称(它取决于操作系统是否为 是否完整路径名)。如果使用-c执行命令 解释器的命令行选项,argv [0]设置为字符串 &#39; -c&#39 ;.如果没有脚本名称传递给Python解释器,argv [0] 是空字符串。
循环标准输入或者给出的文件列表 命令行,请参阅fileinput模块。
你可以像使用它一样:
import sys
def main(argv):
# do something with argv.
if __name__ == "__main__":
main(sys.argv[1:]) # the argv[0] is the current filename.
并使用
调用它 python yourfile.py yourargsgohere
查看更详细的用途here。
答案 1 :(得分:0)
您需要使用sys.argv
来获取命令行参数。
可能如下所示:
import sys
... # other stuff
if __name__ == '__main__':
tc1(sys.argv[1])
有很多tutorials可以帮助您使用sys.argv
答案 2 :(得分:0)
使用sys.argv访问命令行参数。正确使用的详细说明在以下链接中给出: http://www.tutorialspoint.com/python/python_command_line_arguments.htm