【发布时间】:2019-06-27 16:34:41
【问题描述】:
我有以下几点:
application/3rdPArtyApp/file.py
application/3rdPArtyApp/directory/someFile
application/MyApp/file.py
我想从 MyApp 访问来自 3rdPartyApp 的文件,所以我在 MyApp/file.py 中执行以下操作
sys.path.append('../3rdPArtyApp')
这工作正常,我现在可以通过导入文件和函数来访问它们。
但是,3rdPartyApp 中有一个文件试图访问文件夹 directory/someFile 中的文件。
它使用以下内容检查其文件是否在从 MyApp 调用时失败,但在从 3rdPartyApp 单独调用时不会失败。
os.path.isfile(file)
我假设如果从 MyApp 调用时失败,因为它期望它位于 MyApp 路径下。
我该如何解决这个问题?
【问题讨论】:
-
是的,它失败了,因为它是一个相对路径,并且您当前的工作目录与 3rdPartyApp 预期的不同。如果您有权访问该应用程序,则可以将
os.path.isfile(file)更改为相对于__file__的路径。否则,除了运行将工作目录更改为 3rdPartyApp 文件夹之外,您无能为力,这(我猜)不是您想要的。 -
另外:不要命名变量
file,它是一个python关键字。 -
很遗憾,我无法更改 3rdPartyApp 代码。当我使用其中的函数时,有没有办法可以将工作目录更改为 3rdPartyApp??
-
是的。给我一秒钟。
标签: python-3.x path