当前位置: 首页 > 面试题库 >

Python-如何获取当前正在执行的文件的路径和名称?

曾鸿振
2023-03-14
问题内容

我有调用其他脚本文件的脚本,但是我需要获取该进程中当前正在运行的文件的文件路径。

例如,假设我有三个文件。使用execfile

  • script_1.py来电script_2.py
  • script_2.py调用script_3.py

我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py

(执行os.getcwd()将返回原始启动脚本的文件路径,而不是当前文件的路径。)


问题答案:

p1.py:

execfile("p2.py")

p2.py:

import inspect, os
print (inspect.getfile(inspect.currentframe()) # script filename (usually with path)
print (os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) # script directory


 类似资料:
  • 问题内容: 似乎是一个新手问题,但事实并非如此。一些通用方法并非在所有情况下都有效: sys.argv [0] 这意味着使用,但是如果你是从另一个目录中的另一个Python脚本运行的,则此方法不起作用,并且这可能在现实生活中发生。 文件 这意味着使用,但是我发现这不起作用: py2exe没有属性,但是有一种解决方法 当你从IDLE运行时,没有属性 我得到的 答案不完整的相关问题: Python-查

  • 问题内容: 我想获取当前文件的目录路径。我试过了: 但是,如何检索目录的路径? 例如: 问题答案: Python 3 对于正在运行的脚本的目录: 对于当前工作目录: 对于正在运行的脚本的目录: 如果你的意思是当前工作目录: 请注意,前后分别是两个下划线,而不仅仅是一个。 另请注意,如果你正在交互运行或已从文件以外的内容(例如数据库或在线资源)中加载了代码,则可能不会设置,因为没有“当前文件”的概念

  • 问题内容: 这个问题已经在这里有了答案 : 查找从何处加载Java类 (11个答案) 2年前关闭。 给定使用命令执行的类,是否有任何方法可以在运行时从此类的代码确定其当前文件系统的位置? 例如以下课程: 是否有任何方法可以在刚刚被调用的MyClass.class文件的文件系统中获取并打印正确的路径? 同样,如果我从命令调用jar文件,是否有任何方法可以从该jar内的类中获取jar文件的路径? PS

  • 我尝试了堆栈溢出的大部分答案,它们给出了我的.java文件不存在的路径。如何获取我的文件实际存在或存在的路径? 假设我的java文件名为,其位置为。所以我想打印路径。 我将文件部署到某个服务器,然后在那里运行它,无论我想打印路径,我都会得到这样的位置,其中没有文件。

  • 问题内容: 我在代码中的某个地方遇到了异常,但是可以在应用程序启动时安全地导入相同的模块。我很好奇,看看Python寻找要导入模块的路径,以便我能够追踪为什么会出现此问题。我找到了这个: 这是系统在尝试导入模块时查找的所有路径的列表吗? 问题答案: python默认检查的路径位置可以通过check检查。

  • 问题内容: 我正在不同位置运行jar文件,并且试图弄清楚如何获取正在运行的jar文件的位置。 问题答案: 这不是一个完美的解决方案,但这将返回类代码库的位置: