Przekazanie argumentu przez parametry uruchomieniowe

0

Witam,

przez ostatnie kilka dni pracuje nad projektem który konwertuję plik png do "text", na chwilę obecną mój program działa tak:

C:\Users\Tomasz\Programowanie\png2txt>python png2txt.py
Which file to convert?: *Nazwa Pliku*

a chciałbym aby działał tak:

C:\Users\Tomasz\Programowanie\png2txt>png2txt *Nazwa Pliku*

Pomoże ktoś?

0

Dzięki!

1

Dla jednego argumentu sys.argv w zupełności wystarczy. Jeśli jednak Twój program zacznie obrastać w różne opcje, parametry dla opcji itp. rozważ użycie gotowca -> https://docs.python.org/3/library/argparse.html

2

Tworzysz skrypt pythona i wykonujesz go jako interpreter python i jako arg python skrypt, a next arg jako filename.

Możesz zrobić C++ program, który będzie wewnątrz odpalał twój skrypt pythona i będzie miał nazwę aplikacji jako png2txt.exe i przyjmował arg nazwy pliku.

I będziesz miał png2txt <filename>, są też konwertery pythona do exe, ale nie wiem jak działają?
Ale tworzyłem interpreter pythona w C++ i można łatwo obsadzić skrypty w aplikacji exe, która po prostu wewnątrz interpretera odpala z twoim kodem, lub też pewne funkcje wykonasz natywnie z lepszym performancem.

0
import sys

if len(sys.argv) != 2:
    print("Usage: png2txt.py <filename>")
    sys.exit(1)

filename = sys.argv[1]
# reszta kodu, który przekształca plik png na tekst
C:\Users\Tomasz\Programowanie\png2txt>python png2txt.py example.png
C:\Users\Tomasz\Programowanie\png2txt>png2txt example.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1