私はサイコロのプログラムを作っていますが、問題があります。私のプログラムには2つのフォルダがあります: "dice roll"と "dice"です。サイコロにはサイコロがあります。pythonファイルが間違ったフォルダに開かれています
サイコロフォルダは、画像ファイルを持っているfrom PIL import Image
dice = Image.open("dice.png")
dice1 = dice.crop((0, 50, 65, 150))
dice1.save("one.png")
dice2 = dice.crop((64, 50, 131, 150))
dice2.save("two.png")
dice3 = dice.crop((130, 50, 196, 150))
dice3.save("three.png")
dice4 = dice.crop((196, 50, 262, 150))
dice4.save("four.png")
dice5 = dice.crop((262, 50, 328, 150))
dice5.save("five.png")
dice6 = dice.crop((328, 50, 394, 150))
dice6.save("six.png")
「サイコロ:
from random import randint
exec(open("./dice/DiceCrop.py").read(), globals())
print(randint(1,6))
サイコロフォルダがDiceCrop.pyと呼ばれるPythonのファイルを持っている:サイコロのロールもサイコロroll.py呼ばれるPythonのファイルを持っています。 png "と表示されます。しかし、私がdice roll.pyを実行すると、 "dice.png"というファイルは存在しないと言います。なぜこれが起こるのか知っていますが、それを修正する方法はわかりません。これは、サイコロのフォルダではなく、サイコロのフォルダに開くために起こります。どのように私はサイコロのフォルダではなく、サイコロのロールフォルダでそれをオープンにするのですか?ここでは、エラーメッセージは次のとおりです。
ダイスroll.pyファイル内のDiceCrop.pyファイルからコードを実行すると、DiceCrop.pyのファイルパスが使用されます。しかし、サイコロは、pngファイルとは別のフォルダで実行されるため、それらを見つけることができません。同じフォルダにすべてを置くか、Pythonで 'import 'を調べて、このような相対的なインポートを処理するだけです。 – somil
なぜ地球上で 'exec(open(" ./ dice/DiceCrop.py ")。read()...' ???本当にそのファイルを使う必要があれば 'import'してください。 – DyZ