Невозможно записать текстовый файл в программе Python/pygame, скомпилированной с помощью pygbag [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно записать текстовый файл в программе Python/pygame, скомпилированной с помощью pygbag [закрыто]

Сообщение Anonymous »

У меня есть программа Python/pygame, которая считывает данные из тестового файла в том же каталоге, что и программа. По окончании работы программы предполагается записать текст обратно в тестовый файл. Это работает при запуске программы в среде Python, но не при компиляции с помощью Pygbag и запуске в браузере.
Программа (называемая main,py):

Код: Выделить всё

import asyncio
import os
import pygame

pygame.init()

main_dir = os.path.split(os.path.abspath(__file__))[0]
testTxt = os.path.join(main_dir,"test.txt")

print("Dir = ",main_dir," : test file = ",testTxt)

clock = pygame.time.Clock()    #   Set the clock timer

screen_posn = (1000,600)
screen = pygame.display.set_mode((screen_posn))
screen.fill("black")

running = True    #  Main loop control

async def main():
global screen,running

testText = "Data in test.txt - Press E to write back the inverse"
font = pygame.font.Font(None, 32)
txt = font.render(testText, False, "white")
txt_rect = txt.get_rect(topleft=(300,100))
screen.blit(txt,txt_rect)

writeBackText = "Data below should be written back to test.txt"
wbt = font.render(writeBackText,False,"black")
wbt_rect = wbt.get_rect(topleft=(300,250))

writeBack = False

with open(testTxt,"r") as tests:
test = tests.readline()
tst = font.render(test,False,"white")
tst_rect = tst.get_rect(topleft=(300,150))

inverse = test[::-1]
inv = font.render(inverse,False,"black")
inv_rect = inv.get_rect(topleft=(300,300))

while running:
screen.fill("black")
screen.blit(txt,txt_rect)
screen.blit(tst,tst_rect)
screen.blit(wbt,wbt_rect)
screen.blit(inv,inv_rect)

for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

keys = pygame.key.get_pressed()
if keys[pygame.K_END]:
running = False
elif keys[pygame.K_e]:
wbt = font.render(writeBackText,False,"white")
inv = font.render(inverse,False,"white")
writeBack = True

pygame.display.flip()           #  Display the screen
clock.tick(60)
await asyncio.sleep(0)

with open(testTxt,"w") as tests:
tests.write(inverse)
print(inverse," should have been written to ",testTxt)

asyncio.run(main())
Программа читает и отображает строку текста из файла «test.txt» в том же каталоге (домашний каталог), что и программа, который должен называться «main.py». . При нажатии клавиши E текст отображается в обратном порядке. Нажатие клавиши «END» (предположительно) запишет перевернутый текст обратно в test.txt. Это работает при запуске в среде Python, но не при компиляции с помощью Pygbag. Ошибок не выдается, но файл test.txt остается неизменным.
Чтобы скомпилировать программу с помощью Pygbag (который должен быть установлен в формате pip), сначала перейдите в родительский каталог /main.py (cd ..), затем запустите pygbag (родительский каталог). После компиляции программы вы можете просмотреть ее в браузере по адресу http://localhost:8000#debug, где можно просмотреть любые сообщения печати/отладки.
I Я использую Python v3.12, pygame v2.6.0 и pygbag v0.9.1
Мой вопрос: почему я не могу писать обратно в скомпилированной версии программы, тогда как я могу при запуске это в среде Python?
Любая помощь/предложения будут с благодарностью приняты!

Подробнее здесь: https://stackoverflow.com/questions/788 ... ith-pygbag
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно записать текстовый файл в программу Python/pygame, скомпилированную с помощью pygbag.
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Почему эта ошибка с pygbag: файл не найден в папке с ресурсами #python #pygbag
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Обслуживание игры pygame с использованием pygbag с использованием сокетов Python
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Запуск pygame в кодовых пространствах gitlab с использованием pygbag
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Запуск pygame в кодовых пространствах gitlab с использованием pygbag
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»