gpt4 book ai didi

python - 运行 os.path.realpath 时与 F5 和 F9 的结果不同

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:24 40 4
gpt4 key购买 nike

我对os.path.realpath(os.path.dirname(sys.argv[0]))感到非常困惑

这是我的困惑:

(1)如果我在spyder中打开我的脚本(第一次)并运行下面选定的行(F9):

import os
import sys
dir_path = os.path.realpath(os.path.dirname(sys.argv[0]))

它返回:

dir_path = C:\Python27\lib\site-packages\spyderlib\widgets\externalshell

不是我想要的结果。

(2) 但是,如果我运行整个脚本 (F5),我可以获得我所期望的结果(这是我的脚本的当前目录):

dir_path = C:\Users\abc\Desktop\py

(3) 另外如果我:

  1. 运行整个脚本,
  2. %重置变量,
  3. 运行与之前相同的选定行,

只要我不退出spyder,我仍然可以获得脚本的当前目录:

dir_path = C:\Users\abc\Desktop\py

有人可以解释一下吗?我们将非常感激。非常感谢!

最佳答案

要获取当前的完整路径名,您可以使用

os.path.realpath(os.path.curdir)

对于困惑,打印sys.argv来检查它。它的内容可以包含不同的值,具体取决于脚本的调用方式。如果我只是进入 python 解释器,它会保存一个包含空字符串的列表,但如果我调用 python myscript.py,它将保存脚本名称,后跟任何参数。

关于python - 运行 os.path.realpath 时与 F5 和 F9 的结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769225/

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