Я пытаюсь установить свой Python скрипт в качестве программы по умолчанию для открытия файла (например, открывать каждый файл .txt в моей программе, когда я дважды щелкаю по нему). Я уже пробовал это:
from sys import argv
# write the arguments to a file for debugging purposes
with open("output.txt", "w+") as f:
f.write(repr(argv))
Я преобразовал скрипт в .exe с помощью pyinstaller, иначе Windows не позволит мне использовать его для открытия файлов.
В командной строке , он работает: ввод main.exe some args
действительно дает файл output.txt, внутри которого ["C:\...\main.exe", "some", "args"]
.
Я надеялся, что, открыв файл .txt с помощью этого сценария (в проводнике> щелкните правой кнопкой мыши на файл> открыть с помощью> другие приложения> установите флажок «всегда использовать это приложение» и выберите исполняемый файл), это будет то же самое, что запустить main.exe C:\...\that_file_that_i_just_clicked.txt
в командной строке, из которой я мог бы затем использовать путь к файлу, чтобы открыть его в моем программа. Однако этого не происходит. Фактически, main.exe даже не запускается (потому что он даже не создает новый output.txt).
Как мне связать исполняемый файл, созданный pyinstaller, чтобы всегда открывать тип файла и как мне тогда узнать путь к открытому файлу в Python?