Python 获取脚本';被其他应用程序调用时的位置?

Python 获取脚本';被其他应用程序调用时的位置?,python,vba,Python,Vba,我的Python脚本如何可靠地获得自己的位置,以便能够在自己旁边编写文件 我制作了一个Python脚本,它编写了一个包含一些工作统计信息的新文件: import os NAME = __file__.split('/')[-1] PATH = os.path.dirname(os.path.realpath(__file__)) PROPER_PATH = os.path.join(MY_PATH, MY_NAME) with open(os.path.join(PATH, STATS_NAM

我的Python脚本如何可靠地获得自己的位置,以便能够在自己旁边编写文件

我制作了一个Python脚本,它编写了一个包含一些工作统计信息的新文件:

import os
NAME = __file__.split('/')[-1]
PATH = os.path.dirname(os.path.realpath(__file__))
PROPER_PATH = os.path.join(MY_PATH, MY_NAME)

with open(os.path.join(PATH, STATS_NAME), 'wb') as statsfile:
    statsfile.write(mystats)
这很好用,我可以在任何地方调用它,它在脚本旁边的同一个地方编写stats文件。除了从宏VBA脚本调用脚本之外

脚本被调用为OK,但将其数据写入:
“C:\Users\lsp\AppData\Roaming\Microsoft\Templates”

如何确保它写入正确的路径(与脚本路径相同)


作为一种解决方法,我可以想象将路径作为一个参数,然后在VBA中提供它,但肯定有一种python方法来实现该行为?

已经提出并回答了几个相关的问题。(注意,好几次,“被接受”的答案都不如下面的答案好。)竞争者:;""; "". to“”看起来可以解决您的问题,因为它返回“包含用于调用Python解释器的脚本的目录”。尽管对于日志记录或存储数据,您最好使用硬编码或用户提供的绝对目录路径。