如何从Python [3.3]中找到正在运行的Python脚本的目录?我尝试了以下建议:如何使用Python查找脚本的目录?,但我得到"语法无效"并指向"os"(我确实导入了os).
我得到答案的最接近的是:sys.argv [0],但仍然包含文件名,所以我不能使用它.还有其他方法吗?
注意:我对Python很新.
这是我到目前为止所做的一些代码(它表示rundir = sys.argv [0]的部分是建议的代码所在的部分):
import pygame
from pygame.locals import *
import os, sys
import time
pygame.init()
import statuscheck
print("Completed program status check.")
import mods.modlist
print("Loaded all mods..")
print("Completed loading")
sys.dont_write_bytecode = True
rundir = sys.argv[0]
print("Running from" + rundir)
Run Code Online (Sandbox Code Playgroud)
And*_*ark 42
要获取包含您正在运行的模块的目录:
import os
path = os.path.dirname(os.path.realpath(__file__))
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要从中调用脚本的目录:
import os
path = os.getcwd()
Run Code Online (Sandbox Code Playgroud)
来自文档:
__file__是加载模块的文件的路径名,如果它是从文件加载的.
根据脚本的调用方式,这可能是一个相对路径os.getcwd(),因此os.path.realpath(__file__)会将其转换为绝对路径(或者什么都不做__file__就是已经是绝对路径). os.path.dirname()然后将通过剥离文件名返回完整目录.
| 归档时间: |
|
| 查看次数: |
14811 次 |
| 最近记录: |