[Python] Befehlszeilenargumente aus Dateiname oder Standard lesen

Lesen Sie die Argumente aus dem Dateinamen oder dem Standard


#!/usr/bin/env python3
"""
Wenn das Argument eine Datei ist, wird der Inhalt der Datei,
Andernfalls drucken Sie das Argument
"""
import sys
import fileinput
from pathlib import Path

if Path(sys.argv[1]).exists():  #Wenn das erste Argument eine Datei ist
    for line in fileinput.input():  #Drucken Sie den Inhalt der Datei Zeile für Zeile
        print('file input')
        print(line)
else:  #Wenn das erste Argument keine Datei ist
    for i in sys.argv[1:]:  #Drucken Sie die Argumentzeichenfolge
        print('args input')
        print(i)

Ausführungsergebnis


$ python stdin_test.py hoge.txt fuga.txt
file input
MYNAME!

file input
HERO!!


$ python stdin_test.py 1 2 3
args input
1
args input
2
args input
3

Da sys.argv als Liste zurückgegeben wird, habe ich es verwendet, damit das Ergebnis von fileinput.input () auch im Listenformat zurückgegeben wird.

Lesen Sie das Argument aus dem Dateinamen oder stdin und geben Sie es als Liste zurück


if Path(sys.argv[1]).exists():  #Wenn das erste Argument eine Datei ist
    ARGV = [
        line.replace('\n', '') for line in fileinput.input()  #Zeilenumbrüche löschen
        if line != '\n'  #Leere Zeile löschen
    ]
else:  #Wenn das erste Argument keine Datei ist
    ARGV = sys.argv[1:]

Python offizielles Dokument

Recommended Posts

[Python] Befehlszeilenargumente aus Dateiname oder Standard lesen
[Python] Von Stdin lesen
Lesen Sie mit Python Zeile für Zeile aus der Datei
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Zerlegen Sie Befehlsargumente in einer Zeile in Python
[Python] Lesen Sie die angegebene Zeile in der Datei
Python / numpy> Lesen Sie die Datendatei mit der Elementnamenzeile> Verwenden Sie genfromtxt ()
[Einführung in Udemy Python3 + Application] 67. Befehlszeilenargumente
Führen Sie Befehle aus Python aus
Führen Sie den Befehl von Python aus
Lesen Sie die Python-CSV-Datei
Lesen Sie den QR-Code aus der Bilddatei mit Python (Mac).
Übergeben von Argumenten beim Aufrufen von Python-Skripten über Blender in der Befehlszeile
Lesen von Text mit Standardeingabe oder Dateinamen wie cat in Python
Poste Twitter über die Kommandozeile
Python Hinweis: Stellen Sie fest, ob das Befehlszeilenargument in der Liste enthalten ist
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Empfangen Sie per Standardeingabe oder senden Sie Google Mail über die Befehlszeile
Führen Sie das Python-Skript aus der Batchdatei aus
Befehlszeilenargumentverarbeitung (Python docopt)
Lesen und verwenden Sie Python-Dateien aus Python
Lassen Sie Python die Befehlsausgabe lesen
Laden Sie fbx aus Python mitinema4d
Lesen Sie die Datei mit Python und löschen Sie die Zeilenumbrüche [Hinweise zum Lesen der Datei]
[Hinweis] Lesen Sie eine Datei aus einem anderen Verzeichnis
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Lesen wir die RINEX-Datei mit Python ①
[Python / Tkinter] Übergeben von Argumenten an den Befehl
Erstellen Sie eine Deb-Datei aus einem Python-Paket
Homebrew-Suche anhand des Python-Modulnamens (ShellScript)
Aufrufbefehle von Python (Windows Edition)
[Python] Lesen Sie die HTML-Datei und üben Sie das Scraping
[Automatisierung] Lesen Sie E-Mails (Nachrichtendatei) mit Python
[Python] (Linie) Extrahieren Sie Werte aus Diagrammbildern
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Verwalten von Argumenten beim Implementieren eines Python-Skripts als Befehlszeilentool
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten