如何从命令行调用python函数并给出其参数?

2024-10-01 09:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

比方说,我有一个python脚本(测试.py)它包含一个函数,该函数接受一个字符串并打印回来,如下所示

def pri(str):
    print str

如何从命令行调用this函数(pri)? 我试过:

$python test.py pri(blablalba)

但我有以下错误: 缺少字符串结尾


Tags: 函数字符串命令行pytest脚本def错误
3条回答

可以这样调用它(假设函数保存在名为test.py的文件中)

python -c "from test import pri; pri('test')"

这将输出单词test

如果文件名不是test.py,请在import语句中替换test

>python -c "from test import pri; pri('test')"
test

您应该使用sys.argv。argv是通过命令行传递的所有参数的列表。你知道吗

试试这个:

import sys

def pri(s):
    print s

pri(sys.argv[1])

你可以运行它做python test.py blablabla

您可以像调用任何命令行程序一样调用python程序:

python test.py blablabla

然后在程序内部执行以下操作:

import sys
print sys.argv

sys的argv变量是通过命令行传递给被调用程序的所有参数的列表。所以如果你想调用特定的参数号,你会把它当作一个列表。如果您想让一个方法打印出这些参数,您需要将它们传递给该方法,或者让该方法使用该变量。在你的情况下,你会想要这样的东西:

import sys

def pri(str):
    print str

for each in sys.argv[1:]:
    pri(each)

相关问题 更多 >