How do I find directory of the Python running script from inside the script?
如何从python[3.3]内部找到运行python脚本的目录?我尝试过上面的建议:如何用python找到脚本的目录?但我得到了"无效语法"并指向"OS"(我确实导入了OS)。
我得到的最接近答案是:sys.argv[0],但它仍然包含文件名,所以我不能使用它。还有别的办法吗?
注:我对Python还比较陌生。
下面是我迄今为止所做的一些代码(其中指出rundir=sys.argv[0]的部分是建议代码的位置):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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) |
把目录包含的模块是:你是跑步
1 2 | import os path = os.path.dirname(os.path.realpath(__file__)) |
或如果你想从脚本的目录:什么invoked
1 2 | import os path = os.getcwd() |
从文档:
__file__ is the pathname of the file from which the module was loaded, if it was loaded from a file.
取决于如何脚本是所谓的,这可能是一个相对路径转换
这应该工作。
1 2 | import os,sys print(os.path.dirname(os.path.realpath(sys.argv[0]))) |
试试这个:
1 2 | import os os.path.dirname(__file__) |
《语法错误可能不得不做的print语句。在Python 3.x
1 | print"hi" |
是无效的。印刷现在是一个函数。
1 | print("hi") |
的作品。你需要周围的括号。