Открытие файла Python в неправильной папке
Я делаю программу броска костей, и у меня есть проблема. У меня есть 2 папки в моей программе: "бросок костей" и "игральные кости". В рулоне с кубиками есть кости. В игре Dice Roll также есть файл Python, который называется Dice roll.py:
from random import randint
exec(open("./dice/DiceCrop.py").read(), globals())
print(randint(1,6))
В папке с кубиками есть файл python с именем DiceCrop.py:
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")
Папка игры в кости также имеет файл изображения "dice.png". Однако, когда я запускаю dice roll.py, он говорит, что такого файла, как "dice.png", нет. Я знаю, почему это происходит, но я не знаю, как это исправить. Это происходит потому, что он открывается в папке с кубиками, а не в папке с кубиками. Как сделать так, чтобы он открывался в папке с кубиками, а не в папке с кубиками? Вот сообщение об ошибке:
1 ответ
В продолжение предложения Диза:
DiceCropy.py
:
from PIL import Image
def create_dice():
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")
roll.py
:
from random import randint
from .DiceCrop import create_dice
import os
if not os.path.exists('one.png'):
create_dice()
print(randint(1,6))
Выше следует использовать файл DiceCrop.py в качестве модуля Python, который предоставляет create_dice
интерфейс. Затем вы можете повторно использовать create_dice
функционировать в других файлах Python по мере необходимости. Мы также добавили быстрый тест, чтобы убедиться, что мы не воссоздаем изображения кубиков при каждом запуске. Удачи!