gpt4 book ai didi

python - 如何在 Python 中将参数传递给导入的脚本

转载 作者:行者123 更新时间:2023-11-28 17:41:05 25 4
gpt4 key购买 nike

我有一个如下形式的脚本 (script1.py):

#!/bin/python

import sys

def main():
print("number of command line options: {numberOfOptions}".format(numberOfOptions = len(sys.argv)))
print("list object of all command line options: {listOfOptions}".format(listOfOptions = sys.argv))
for i in range(0, len(sys.argv)):
print("option {i}: {option}".format(i = i, option = sys.argv[i]))

if __name__ == '__main__':
main()

我想将此脚本导入另一个脚本 (script2.py) 并向其传递一些参数。脚本 script2.py 可能看起来像这样:

import script1

listOfOptions = ['option1', 'option2']
#script1.main(listOfOptions) insert magic here

如何将 script2.py 中定义的参数传递给 script1.py 的主函数,就像它们是命令行选项一样?

因此,例如,执行以下操作是否符合 Pythonic?:

import script1
import sys

sys.argv = ['option1', 'option2']
script1.main()

最佳答案

单独的命令行解析和调用函数

为了代码的可重用性,将执行函数与命令行解析分开是可行的

scrmodule.py

def fun(a, b):
# possibly do something here
return a + b

def main():
#process command line argumens
a = 1 #will be read from command line
b = 2 #will be read from command line
# call fun()
res = fun(a, b)
print "a", a
print "b", b
print "result is", res

if __name__ == "__main__":
main()

从另一个地方重用它

from scrmodule import fun

print "1 + 2 = ", fun(1, 2)

关于python - 如何在 Python 中将参数传递给导入的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com