2017-02-04 7 views
0

私はpygameを使ってPythonでゲームを書いています。コードがあります:png、python pygame、同じディレクトリを開くことができませんでした。

imageJBird = pygame.image.load("jbirdnapis.png") 

すべてが機能していましたが、突然停止しました。今私は "jbirdnapis.pngを開くことができませんでした"というエラーがあります。イメージはコードと同じディレクトリにあります。私はPycharmを使ってゲームを実行します。それは他のコントリビュータのコンピュータでも動作します - Ubuntuも同じバージョンです。 gitリポジトリと同じバージョンがあります。何か案は?

+0

スタックトレースを提供してください。もちろん トレースバック(最後の最新の呼び出し)の – rlee827

+0

: ファイル "/home/oleistka/Desktop/projektJBird/J-Bird/jBird/view/states/Intro.py"、45行、 イントロで=イントロ() ファイル "/home/oleistka/Desktop/projektJBird/J-Bird/jBird/view/states/Intro.py"、24行目、__init__ imageJBird = pygame.image.load( "jbirdnapis.png") pygame。エラー:オープンできませんでしたjbirdnapis.png –

+0

私はPyCharmがプロジェクトのルートディレクトリからスクリプトを実行すると思います。単に相対パス( 'os.path'で)を使うか、画像へのパスを変更してプロジェクトディレクトリを辿るだけです。 –

答えて

0

ではなく、viewというフォルダ内のスクリプトを実行しますので、viewの画像を検索しています。

スクリプトのフォルダを取得してすべての画像に追加できます。

import os 

folder = os.path.dirname(os.path.realpath(__file__)) 

imageJBird = pygame.image.load(os.paht.join(folder, "jbirdnapis.png")) 

さまざまな場所で実行すると便利です。

+0

ありがとうございました。今は動作しますが、私はなぜそれが早く、他のコンピュータで動作したのか不思議です。あなたは答えを知っていますか? –

+0

'' state'を 'python script.py'として実行すると' '現在の作業ディレクトリ ''(CWD)は' states'ですが、 '' Pythonの状態/スクリプトとして '' view''から実行できます。次にCWDは 'view'で、このフォルダ内を検索します。 BTW:コード 'print(os.getcwd())'で試してください – furas

関連する問題