我一直在浏览各种帖子,看看这个问题是否得到了解答。但要么我无法理解盯着我的答案,要么我之前没有问过我心中的确切问题。
问题:我创建了一个名为“Filter.py”的程序,其目的是接受一个文件作为命令行参数,比如说“Flags.txt”,使用这个文件进行大量的“过滤”。例如。加载了数组A.创建满足某些条件的子集A_1,满足另一组的A_2,依此类推。我希望这些阵列A_1,A_2可以在其他程序中使用。所以,我在另一个程序中说
from Filter import *
只要“Filter.py”被编程为工作即使没有提供命令行参数,上述工作也是如此。问题是 - 使用上述方法导入时,我可以传递命令行参数吗?
答案 0 :(得分:1)
没有。最好的方法是将您的功能包装在main
脚本中的函数中(让我们称之为Filter.py
),该脚本可以完成所有操作。并添加以下内容:
# Filter.py
#...
if __name__ == '__main__':
# ...
main(some, args)
这样,从命令行调用:
python Filter.py
将执行main
。如果你想在另一个脚本中导入它(main将不会被调用):
# your other program
import Filter
# ...
Filter.main(some, args)
答案 1 :(得分:0)
我不确定您是如何在Filter.py
中设置程序的但是你可以将算法包装在一个函数中并传递函数调用中的参数
例如
from Filter import filter
result = filter(argA, argB, argC)