Почему у exe-файла, созданного с помощью pyinstaller, есть проблемы с записью в файлы? - PullRequest
0 голосов
/ 07 мая 2020

В моем коде python я открываю текстовый файл, чтобы добавить некоторые числа, считанные из полей ввода Tkinter (называемых здесь numeriaccount). Затем я вызываю другую функцию, которая читает этот файл и выполняет другие действия:

    with open("accounts.txt", "w+") as f: # I open the txt file

        for i in range(len(self.numeriaccount)):  # I scan through the entry fields

            t = self.numeriaccount[i].get().strip()

            # I write the entry field data into the txt file
            if (i == len(self.numeriaccount) - 1 ): 
                f.write( t ) 
            else:
                f.write( t + "\n" )

    self.check_something() # this function reads the same file and performs other actions

Проблема только с exe-файлом, созданным pyinstaller, НЕ, если я нормально работаю с python filename.py:

файл не обновляется нормально, а вторая функция считывает неправильные символы и выдает исключение. Если я открою текстовый файл после запуска этого скрипта через python filename.py, я могу увидеть содержимое файла с номерами, но если я открою тот же файл после запуска filename.exe, текстовый файл будет пуст. Еще странно то, что это происходит не на всех P C, с которыми я тестировал файлы.

Есть идеи, что может привести к этой проблеме? спасибо

РЕДАКТИРОВАТЬ: по запросу я добавляю дополнительную информацию и отслеживаю:

enter image description here

Синим цветом показано содержимое 5 полей ввода , который должен быть сохранен в текстовый файл. В красной заостренной линии вы видите, что читается из функции self.check_something () после открытия файла и выполнения разбиения на \ n. Как видите, вместо двух чисел и пустых строк ничего нет, а затем последний элемент полностью неправильный.

Еще одна информация: когда система останавливается по этому исключению, если я открываю файл, я ничего не вижу. когда я закрываю это приложение, содержимое файла обновляется нормально, 2 числа сохраняются в файле, и все в порядке. вот что сводит меня с ума ... поэтому это не может быть проблема с папкой или неправильным файлом ..

И опять же, на некоторых p c он работает нормально, а на некоторых - нет .. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...