[Python] Als ich versuchte, ein Dekomprimierungswerkzeug mit einer Zip-Datei zu erstellen, die ich gerade kannte, war ich süchtig nach sys.exit ()

Einführung

In dem Wissen, dass Python ein Zipfile-Modul hat, (Während Sie die kostenlose Software für die Zip-Dekomprimierung und die Standard-Zip-Dekomprimierungsfunktion von Windows kennen) Ich entschied mich für ein einfaches Dekomprimierungswerkzeug mit den folgenden Spezifikationen.

--Drop die Zip-Datei in den DOS-Batch und entpacken Sie es

Dann habe ich es mit der Absicht von C # Application.exit () aufgerufen Ich war ein paar Minuten lang süchtig nach "sys.exit ()", also notieren Sie es sich.

Vollständiges Formular

Vorerst zeige ich Ihnen zuerst das ausgefüllte Formular. Es wird davon ausgegangen, dass Python installiert ist und Path übergeben wird. Der Dateiname jedes Skripts ist festgelegt, aber alles ist in Ordnung, solange es mit der Beschreibung im DOS-Stapel übereinstimmt.

extract.bat


@echo off
cd /d "%~dp0"

::"Extrahieren" in derselben Hierarchie wie dieser Stapel.Prämisse, dass es "py" gibt
python extract.py -i "%~1"

if errorlevel 1 (
	echo.Dekomprimierung fehlgeschlagen.
	echo.ExitCode:%errorlevel%
	pause
)

extract.py


from argparse import ArgumentParser
import os
import sys
import zipfile

def main():
	parser = ArgumentParser()
	parser.add_argument("-i", "--input", default=False, help="Input Zip")
	args = parser.parse_args()
	filePath = args.input
	
	if (not filePath):
		sys.exit(1)
	if (not os.path.isfile(filePath)):
		sys.exit(2)
	
	folderName = os.path.splitext(os.path.basename(filePath))[0]
	outputPath = os.path.join(os.path.dirname(filePath), folderName)
	
	try:
		with zipfile.ZipFile(filePath) as zip:
			zip.extractall(outputPath)
	except:
		sys.exit(3)
	else:
		sys.exit(0)

if (__name__ == "__main__"):
	main()

Ich war süchtig nach

Um die Wahrheit zu sagen, ich war weiterhin süchtig danach, ohne Folgendes zu wissen.

Es ist schneller, sich den Code anzusehen, um zu sehen, wie Sie süchtig wurden.

Wovon ich süchtig war: Teil 1

Selbst zum Zeitpunkt der normalen Kündigung lautet der Kündigungscode jetzt 3. .. ..

		try:
			with zipfile.ZipFile(filePath) as zip:
				zip.extractall(outputPath)
			sys.exit(0)
		except:
			sys.exit(3)

Wovon ich süchtig war: Teil 2

Selbst zum Zeitpunkt einer abnormalen Beendigung wurde der Beendigungscode 0. .. ..

		try:
			with zipfile.ZipFile(filePath) as zip:
				zip.extractall(outputPath)
		except:
			sys.exit(3)
		finally:
			sys.exit(0)

Am Ende

Dank meiner Sucht verstehe ich, wie Python-Try-außer-else-endlich funktioniert.

Recommended Posts

[Python] Als ich versuchte, ein Dekomprimierungswerkzeug mit einer Zip-Datei zu erstellen, die ich gerade kannte, war ich süchtig nach sys.exit ()
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ein Hinweis, dem ich beim Ausführen von Python mit Visual Studio Code verfallen war
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
Ich möchte ein Spiel mit Python machen
Ich möchte mit Python in eine Datei schreiben
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Als ich versuchte, eine VPC mit AWS CDK zu erstellen, konnte ich es aber nicht schaffen
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Wovon ich süchtig war, als ich Python Tornado benutzte
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Wovon ich süchtig war, als der Processing-Benutzer zu Python wechselte
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
[1 Stunde Herausforderung] Ich habe versucht, eine Wahrsagerseite zu erstellen, die für Python zu geeignet ist
Als ich versuchte, PIL und matplotlib in einer virtuellen Umgebung zu installieren, war ich süchtig danach.
Ich habe versucht, Dateien mit Python in AWS S3 / Azure BlobStorage / GCP CloudStorage hochzuladen / herunterzuladen
Wovon ich süchtig war, als ich mit riesigen Dateien in einer Linux 32-Bit-Umgebung umging
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
Ein Memorandum beim automatischen Erwerb mit Selen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Wovon ich süchtig war, als ich ALE in Vim für Python einführte
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Was ich mit json.dumps in Pythons base64-Codierung süchtig gemacht habe
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
[Python] Einfaches Japanisch ⇒ Ich habe versucht, ein englisches Übersetzungswerkzeug zu erstellen
Ich habe versucht, Jojo mit LSTM ein seltsames Zitat zu machen
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Mir wurde gesagt, dass ich XML_SetHashSalt nicht finden konnte, als ich versuchte, pip mit Python zu verwenden.