问题定义:
我正在使用xlwings从Excel运行python脚本,我有一个文件,我在这些脚本中使用。
我曾经有特定于我的计算机的路径(ex--〉C:\users\myuser\some_folder\myfile
)。
现在我将这些脚本发送给我的同事使用,并且我希望文件的路径能够根据文件在他们机器上的位置自动配置。
我尝试了这个post和这个帖子,最后尝试将文件移动到同一个位置,并使用os.getcwd()
获得工作目录,并与文件名连接以获得路径。
当我单独运行python脚本(不是从Excel)时,这些方法工作正常,但当我尝试从Excel运行时,它不起作用,因为当从Excel运行python脚本时,由于某种原因,工作目录更改为C:\\ProgramData\\Anaconda3\\
,不再看到文件。此外,这些方法(根据我的理解)使用文件运行所在目录的路径。
他们只能看到C:\\ProgramData\\Anaconda3\\
的文件。
我的第一个想法是尝试使用此解决方案搜索文件夹名称,但问题是我不知道最终用户将在哪个位置存储文件夹。
**我现在想的是找到一种方法来定位(从这个位置C:\\ProgramData\\Anaconda3\\
(python从Excel运行))文件存储的文件夹,并从那里轻松地获取文件路径。**在搜索网络后,我没有找到适合我的情况的解决方案。
那么,有没有办法使用os
或任何其他包来实现这一点呢?
1条答案
按热度按时间mccptt671#
__file__
包含已执行python脚本的绝对路径,不受当前工作目录的影响输出: