11

Python [3.3] 内から実行中の Python スクリプトのディレクトリを見つけるにはどうすればよいですか? 私はで提案されたことを試しました: How can I find script's directory with 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)
4

3 に答える 3

1

これを試して:

import os
os.path.dirname(__file__)

__file__現在のファイルの名前を取得します。このdirname関数は、ファイルが存在するディレクトリを取得します。

構文エラーは、おそらく print ステートメントに関係していました。Python 3.x では

print "hi"

無効です。印刷は関数になりました。

print("hi")

動作します。括弧が必要です。

于 2013-10-11T16:25:35.690 に答える
1

これはうまくいくはずです:

import os,sys
print(os.path.dirname(os.path.realpath(sys.argv[0])))
于 2015-06-14T16:05:20.500 に答える