OS.PATH.FILE使用SYS.Path.Append时失败



我有以下内容:

application/3rdPArtyApp/file.py
application/3rdPArtyApp/directory/someFile
application/MyApp/file.py

我想从MyApp从3rdpartyapp访问文件,因此我在myApp/file.py.py

中进行以下操作
sys.path.append('../3rdPArtyApp')

这可以正常工作,我现在可以通过导入文件来访问文件和功能。
但是,在3rdpartyapp中有一个文件,试图在文件夹中访问文件目录/somefile

它使用以下内容来检查其是否失败的文件,每当它从MyApp调用时,但是当它单独使用3rdpartyapp时就不会失败。

os.path.isfile(file)

我假设从MyApp调用时是否失败,因为它希望它是MyApp路径。

如何解决此问题?

如果您不能更改库代码,我认为您必须在每次呼叫之前都必须更改工作目录。

i因此实现了此类似功能的助手类change_cwd。只需用with change_cwd('../3rdPArtyApp'):包装每个功能呼叫到外部库。

import os
class change_cwd:
    def __init__(self, path):
        self.path = os.path.abspath(path)
    def __enter__(self):
        self.old_cwd = os.getcwd()
        os.chdir(self.path)
    def __exit__(self, exc_type, exc_value, traceback):
        os.chdir(self.old_cwd)
print(os.getcwd())
with change_cwd('Downloads'):
    print(os.getcwd())
print(os.getcwd())
/home/<user>
/home/<user>/Downloads
/home/<user>

相关内容

  • 没有找到相关文章

最新更新