Ich experimentiere mit Datei-I/O. Ich habe ein kleines Übungsprogramm, das beim Ausführen eine Textdatei erstellt. Ich packte es mit pyinstaller, so dass Doppelklick auf die exe einen neuen Ordner erstellt und eine Textdatei mit "Hallo Welt" darin platziert. Kinderleicht.Ist es möglich, Argumente an eine Python-exe zur Laufzeit übergeben?
Dann begann ich mich über main()
zu fragen. Das ist nur eine Funktion wie jede andere, oder? Bedeutet das, dass ich Argumente zur Laufzeit übergeben kann?
Ich habe über den Steam-Client nachgedacht und wie man Sachen wie '-dev' und '-console' in die Verknüpfung einfügen kann. Gibt es eine Möglichkeit, dies zu einer Python-Exe zu machen, die ich gemacht habe?
ich schrecklich erläutern kann, also hier ein Beispiel:
def makeFile(string):
if string:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, ' + string + '! \nHow are ya?'
f.close()
else:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, person! \nHow are ya?'
f.close()
def main(string = None):
makeFile(string)
Also, wenn ich diesen Code nehmen und es eine exe machen, würde ich irgendwie meine optionalen Argumente hinzufügen kann.
Ich habe versucht, den obigen Code, und die laufenden test.exe --"myname"
, aber das hat nicht funktioniert.
Gibt es eine Möglichkeit, dies zu tun?
Das hat perfekt funktioniert! Vielen Dank!! – Zack
Update auf die Antwort, tun 'if len (sys.argv)> 1 'zu testen, ob es Dateinamen Argument gibt, und es wird vorgeschlagen, dass' argparse 'ist besser (um irgendwelche Probleme zu fangen). – George