[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert

ArgumentParser (argparse) Wenn Sie ein in Python in der Befehlszeile geschriebenes Programm ausführen, können Sie mit ArgumentParser (argparse) problemlos Befehlszeilenargumente verwenden.

Was ist ein Befehlszeilenargument?

Befehlszeilenargumente sind ungefähr so:

python test.py -t 10

Versuchen Sie es mit

Über den Instant-Typ

Momentaner Typ ist im Allgemeinen

e=V_{m} \sin(2 \pi f t \pm \phi)

Es wird vertreten durch. Diesmal

V_{m}[V],f[Hz],\phi[deg]

Wird mit einer Befehlszeilenvariablen (der Einheit im Programm in []) geändert und versucht, verschiedene Diagramme zu zeichnen.

Quelle

Laden Sie die Bibliothek. Sie können es verwenden, indem Sie argparse lesen.

import argparse

Definieren Sie den Anfangswert jedes Arguments

    parser = argparse.ArgumentParser()
    parser.add_argument('--phase', '-p', type=float, default=0, help='Definition of a point in time')
    parser.add_argument('--voltage', '-v', type=float, default=100, help='Definition of a effective value')
    parser.add_argument('--frequency', '-f', type=float, default=60, help='Definition of a frequency')
    parser.add_argument('--sampletime', '-t', type=float, default=0.0001, help='Definition of sampletime')    
args = parser.parse_args()

Anzeige des angegebenen Zahlenwertes

    print('phase : {}\n'.format(args.phase))
    print('voltage : {}\n'.format(args.voltage))
    print('frequency : {}\n'.format(args.frequency))

Zeichnen eines Diagramms

    t = np.arange(0, 1/60, args.sampletime)
    y1 = args.voltage * np.sqrt(2) * np.sin(2 * np.pi * args.frequency * t + np.deg2rad(args.phase))
    y2 = args.voltage * np.sqrt(2) * np.sin(2 * np.pi * args.frequency * t)
    plt.plot(t, y1)
    plt.plot(t, y2)

    plt.grid(True)

    plt.show()

    #plt.savefig("img.png ")

An der Kommandozeile

python test.py -p 45

angesichts dessen

Figure_1.png

Bekommen

Ganzer Code

import numpy as np
import argparse
import matplotlib.pyplot as plt

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--phase', '-p', type=float, default=0, help='Definition of a point in time')
    parser.add_argument('--voltage', '-v', type=float, default=100, help='Definition of a effective value')
    parser.add_argument('--frequency', '-f', type=float, default=60, help='Definition of a frequency')
    parser.add_argument('--sampletime', '-t', type=float, default=0.0001, help='Definition of sampletime')

    args = parser.parse_args()

    print('phase : {}\n'.format(args.phase))
    print('voltage : {}\n'.format(args.voltage))
    print('frequency : {}\n'.format(args.frequency))

    t = np.arange(0, 1/60, args.sampletime)
    y1 = args.voltage * np.sqrt(2) * np.sin(2 * np.pi * args.frequency * t + np.deg2rad(args.phase))
    y2 = args.voltage * np.sqrt(2) * np.sin(2 * np.pi * args.frequency * t)
    plt.plot(t, y1)
    plt.plot(t, y2)

    plt.grid(True)

    plt.show()

if __name__ == '__main__':
    main()

Recommended Posts

[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe mit PyQt einen einfachen Texteditor erstellt
[LPIC 101] Ich habe versucht, die Befehlsoptionen zusammenzufassen, die leicht zu Fehlern führen können
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe eine Python-Bibliothek erstellt, um die API von LINE WORKS aufzurufen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Hinweise Ich habe nachgeschlagen, um Befehlszeilentools in Python zu erstellen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.
[Python] Smasher hat versucht, den Video-Ladevorgang mithilfe eines Generators zu einer Funktion zu machen
[Python] Ich habe versucht, eine Shiritori-KI zu erstellen, die den Wortschatz durch Schlachten verbessert
[Python] Ein Programm, das die Differenz zwischen diagonalen Gesamtwerten berechnet
Mit PyAutoGui habe ich versucht, den UI-Test des VB6-Programms zu automatisieren, das unter Windows Server 2003 R2 ausgeführt wird (Eingabebefehls-Spickzettel).
Eine Geschichte, die praktisch war, als ich versuchte, das Python-IP-Adressmodul zu verwenden
Verschiedene Hinweise zur Verwendung von Python für Projekte
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
[1 Stunde Herausforderung] Ich habe versucht, eine Wahrsagerseite zu erstellen, die für Python zu geeignet ist
Ich habe versucht, mit Kendra, das bei re: Invent 2019 angekündigt wurde, sofort einen Befehl zum Durchsuchen der Dokumentensuche auszuführen
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Ich habe versucht, ein System zu erstellen, das nur gelöschte Tweets abruft
Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, den auf Papier gestempelten Stempel mit OpenCV zu digitalisieren
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
[Ev3dev] Erstellen Sie ein Programm, das das LCD (Bildschirm) mit Python erfasst
Ich habe versucht, einen Sender auf der IoT-Plattform "Rimotte" zu registrieren.
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Einfaches Japanisch ⇒ Ich habe versucht, ein englisches Übersetzungswerkzeug zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Python-Standardmodul, das in der Befehlszeile verwendet werden kann
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Erstellen Sie ein Befehlszeilenprogramm, um mit Python Dollar in Yen umzurechnen
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe versucht, eine SATA-Software-RAID-Konfiguration zu erstellen, die das Betriebssystem unter Ubuntu Server startet
Ich habe eine Web-API erstellt
Ein Programm, das Python zum Abspielen von Junk verwendet
[Python] Ein Programm, das die Partitur rundet
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Ich habe versucht, eine Blockchain zu implementieren, die tatsächlich mit ungefähr 170 Zeilen funktioniert
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.