Python-提供命令行参数-in&;从X导入A”;



我一直在浏览各种帖子,看看这个问题是否得到了回答。但要么我一直无法理解眼前的答案,要么我脑海中的确切问题以前从未被问过。

问题:我创建了一个名为"Filter.py"的程序,其目的是接受一个文件作为命令行参数,比如"Flags.txt",使用这个文件进行大量的"过滤"。加载了数组A。创建了满足某些条件的子集A_1,A_2满足另一个集合等等。我希望这些数组A_1、A_2在其他程序中可用。所以,我说在另一个程序

from Filter import *

只要"Filter.py"被编程为即使没有提供命令行参数也能工作,上述方法就可以工作。问题是,当使用上述方法导入时,我可以传递命令行参数吗?

否。最好的方法是将您的功能封装在Filter.py脚本中的一个函数(我们称之为main)中,该函数可以执行所有操作。并添加以下内容:

# Filter.py
#...
if __name__ == '__main__':
    # ...
    main(some, args)

通过这种方式,从命令行调用:

python Filter.py

将执行CCD_ 3。如果你想在另一个脚本中导入它(main不会被调用):

# your other program
import Filter
# ...
Filter.main(some, args)

我不确定你是如何在Filter.py 中设置程序的

但是,你能不能把算法封装在一个函数中,并在函数调用中传递参数

例如。

from Filter import filter
result = filter(argA, argB, argC)

最新更新