python如何运行程序并向程序传入参数?

python如何运行程序并向程序传入参数?,第1张

参数个数使用len()函数来获取import sys print sys.argv if __name__=='__main__':print "Program name", sys.argv[0]for i in range(1, len(sys.argv)):print "arg%d"%i,sys.argv[i]

注意调用的绝首时候百必须使用

python 脚本名.py arg1 arg2

因迅裤为度win下面的命令解释器认为.py不是可执行文件,直接调用文件的内时候,不会传入参数,容如下面的代码则并昌数不会传入参数:

脚本名.py arg1 arg2

按照Python教程中的做法

编写using_sys.py

在cmd中执行脚本

先是只执行python

using_sys.py

看一下结果

然后,添加一些参数

python

using_sys.py

helloworld

再查看一下结果:

接下来分析一下:和拆首先import

sys是导入模块,这就是告诉python,我们可以使用sys模块,而sys模块包含了与python解释器和它的环境有关的函数

其次,当python执行import

sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块,如果找到了这个文件,这个模块的主块中的语句被运行,然后这个模块将能够被你使用

然后,sys.argv表示sys模块中的argv变量,实际上,sys.argv是一个字符串的列表,其包含了命令行参数梁绝的列表,即使用命令行传递给你的程序的参数。

特别注意:脚本的名称总是sys.argv列表的第一个参数,而在命令行脚本后的参数是sys.argv列表中的第二个元素,而参数之间以空格区分

10

最后就是sys.path包含了输入模块的目录名列表,sys.path的第一个字符串是脚本当前的路径。

11

以上内容说明了sys.argv是干什么的,以及其内容及意橡棚姿思。

``使命令结果作为参数不是程序的处理,是shell的处理答手源,所以如果需要这么使用,应当薯睁使用shell处理清态你的字符串

简单说来,应该这么用:

p1=subprocess.Popen('./examplecpp

`cat

data.txt`',

stdout=subprocess.PIPE,

shell=True)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12530532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存