Мое приложение python создает файл html, но когда я замораживаю его с помощью pyinstaller, оно ничего не создает, почему? - PullRequest
0 голосов
/ 29 февраля 2020

Я создал программу, которая просто создает файл HTML в месте выполнения скрипта Python.

Проблема в том, что после замораживания моего приложения с помощью PyInstaller исполняемый файл no больше создает файл HTML, как задумано, но ничего не делает. (Это только приводит к появлению оператора печати моей программы.)

Есть ли способ обойти это?

* Я использовал функцию open("x.html","w+") для создания файла HTML.

Код, который создает HTML, выглядит следующим образом:

def create_html():
    f = open("x.html", "w+")
    f.write("<!DOCTYPE html>\n<html>\n<body>\n")
    f.close()

Я думаю, что можно решить проблему, создав файл html вне рабочего каталога. Однако я понятия не имею, как это сделать.

Посмотрев вокруг, я обнаружил, что моя программа действительно работает, но создает файл html в домашнем каталоге на моей ма c. Есть ли способ изменить это?

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Вы уверены, что ваш код open("x.html", "w+") вместо open("/x.html", "w+")?

Попробуйте использовать open("./x.html", "w+") и повторите попытку. Вы должны узнать об абсолютном и относительном пути.

После осмотра я обнаружил, что моя программа действительно работает, но создает файл html в домашнем каталоге на моей ма c.

Ваша программа установлена ​​в домашнем каталоге?

1 голос
/ 29 февраля 2020

Вы можете попробовать

f = open ("x.html", "wb")

или, если вам нужно добавить в конец файла, вы можете использовать

f = open ("x.html", "a")

, хотя вы также можете использовать py2exe для генерации исполняемого файла.

...