通过它的路径在另一个中使用一个 py 文件

using one py file in another via it's path

我想在 运行ning main.py 时在命令参数中给出路径,main.py 应该显示 .py 文件中提到的所有函数路径。

main.py

getpathfromargument = /some/path/file.py
print(functions_present_in(getpathfromargument)

路径不一定与main.py

在同一个目录

我可能运行如下

$python main.py /some/path/file.py

要从 main.py 访问函数,我必须在路径中导入文件吗?

像使用 built-in 模块一样使用 import

import file as f

print(dir(f))

如果我对你的问题的理解正确,你想要一个参数,它是 python 文件的路径,并打印该文件中存在的函数。

我会这样做:

from inspect import getmembers, isfunction
from sys import argv
from shutil import copyfile
from os import remove

def main():
    foo = argv[1] # Get the argument passed while executing the file
    copyfile(foo, "foo.py") # Copy the file passed in the CWD as foo.py
    import foo
    print(getmembers(foo, isfunction)) # Print the functions of that module
    remove("foo.py") # Remove that file
    
if __name__ == "__main__":
    main()

这会将传入的文件复制到 CWD(当前工作目录),将其导入并打印其中的函数,然后删除刚刚在 CWD 中制作的文件副本。