在不使用符号链接的情况下将符号链接模拟到Python脚本

2024-04-19 20:04:53 发布

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

假设我在目录a中有一个符号链接,它指向目录B中的一个python文件。当我执行符号链接时,目录B中的python文件成功执行(它还使用其目录中的其他python文件)。然而,在操作系统方面使用符号链接有很多问题,所以我想用普通python来模拟

这是我到目前为止所拥有的

目录A中的文件:

import os
import sys
sys.path.append("DirectoryB") # File_B is importable now
os.chdir("DirectoryB") # Change dir so File_B's imports work
import File_B # Run File_B

因此,现在当目录A文件运行时,文件B将成功运行,就像目录A中的文件是符号链接一样

这种方法是否有任何错误/缺失?有没有办法做得更好


Tags: 文件pathimport目录isos链接sys
1条回答
网友
1楼 · 发布于 2024-04-19 20:04:53

您的问题非常类似于从另一个python脚本调用python脚本,该脚本在Run a python script from another python script, passing in argsWhat is the best way to call a Python script from another Python script?中已经有两个答案 您的片段还可以,但可能与符号链接有一些不同。例如,如果File_B使用经典的习惯用法if __name__ == '__main__':,那么在导入时“If”将不是真的,您应该直接调用该部分中的代码

要调用文件_B,可以使用ececfile("/path_to/File_B")来维护相同的参数,如果需要更改参数,可以使用os.system("/path_to/File_B %s" % ' '.join(arglist))

如果您希望避免使用操作系统并将其保存在Python中,请检查是否必须在导入后调用函数或添加一些代码(例如,如果文件_B具有if __name__ == '__main__':)。在{a3}中,有一些建议可以保留这些论点

相关问题 更多 >