gpt4 book ai didi

python - spect.stack() 返回带有斜杠和反斜杠的路径值

转载 作者:行者123 更新时间:2023-12-01 05:27:01 27 4
gpt4 key购买 nike

我正在尝试迭代 inspect.stack() 以获取文件层次结构。

一个简单的例子:

for value in inspect.stack():
print value[1]

输出将是:

C:\xxx\ATE\Utilities\Simulator\Simulator.py
C:\xxx\ATE\Utilities\Simulator\Simulator.py
C:\xxx\ATE\Utilities\Simulator\serial.py
C:\xxx\ATE\Utilities\Serial\SerialHandle\trunk\SerialHandle.py
C:/xxx/ATE/DUTDrivers/DD_SimulatorExample/DD_Example_Simulator.py

现在我正在使用字符串操作删除文件名,并在我的软件中使用路径名。

问题:

为什么有些路径带斜杠(\),有些路径带反斜杠(/)?

注意:我知道我可以使用 replace 进行简单的字符串操作,将反斜杠替换为斜杠,或者只使用 os.path.normpath(path) 但我'我试图理解为什么 inspect.stack 模块以这种方式返回它?

最佳答案

看来PyCharm启动了DD_Example_Simulator.py使用完整路径和正斜杠 (/)。

这就是为什么您只在 DD_Example_Simulator.py 中看到正斜杠的原因路径(其余路径由 Python 解释器构建,因此具有正确的 Windows 反斜杠)。附带说明:在 Windows 上使用正斜杠是完全可以的。好吧,至少我的 Windows 副本不介意正斜杠。

让我们使用 cmd.exe 来设置过期时间。

让我们创建两个文件。

第一:

// inspectso.py
import inspect

for value in inspect.stack():
print value[1]

第二:

// inspect_so.py
import inspectso

过期的最后一步:在cmd中运行这些命令:

e:\Temp>c:/Python27/python.exe E:/temp/inspect_so.py
E:\temp\inspectso.py
E:/temp/inspect_so.py

e:\Temp>c:/Python27/python.exe E:\temp\inspect_so.py
E:\temp\inspectso.py
E:\temp\inspect_so.py

e:\Temp>c:/Python27/python.exe inspect_so.py
e:\Temp\inspectso.py
inspect_so.py

我们可以看到inspect_so.py的路径打印的内容与在命令行上传递的内容以及 inspectso.py 的路径相同。总是严重反斜杠。

关于python - spect.stack() 返回带有斜杠和反斜杠的路径值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21134455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com