Heim > Artikel > Backend-Entwicklung > Python verwendet häufig Standardbibliotheken und Bibliotheken von Drittanbietern im 2-SYS-Modul
Das zuvor vorgestellte OS-Modul ist hauptsächlich für das Betriebssystem gedacht, während das SYS-Modul in diesem Artikel hauptsächlich für den Python-Interpreter ist.
Das sys-Modul ist ein Modul, das mit Python geliefert wird. Es ist eine Schnittstelle für die Interaktion mit dem Python-Interpreter. Das sys-Modul bietet viele Funktionen und Variablen für den Umgang mit verschiedenen Teilen der Python-Laufzeitumgebung.
Sie können mithilfe der dir()-Methode überprüfen, welche Methoden im sys-Modul enthalten sind:
import sys print(dir(sys))
sys.argv wird verwendet, um Parameter von außerhalb des Programms zu übergeben Zum Programm kann es die Liste der Befehlszeilenparameter abrufen. Die argv-Liste enthält alle an das Skript übergebenen Parameter:
import sys for index, arg in enumerate(sys.argv): print(index, arg)
Führen Sie diese Skriptdatei in der Python-Befehlszeile aus ( (nicht mit irgendwelchen Parametern) ist das erste erhaltene Element das Skript selbst. Das Druckergebnis ist:
Führen Sie diese Skriptdatei (mit Parametern) in der Python-Befehlszeile aus und rufen Sie die Datei ab Ein Element ist das Skript selbst, der Rest sind übergebene Argumente. Das gedruckte Ergebnis ist:
Wenn sys.exit(888) im Code aufgerufen wird, ist eine Ganzzahl ungleich 0 übergeben. Nach der Ausführung meldet der PyCharm-Editor die Meldung „Prozess mit Exit-Code 888 abgeschlossen“ wie folgt:
#🎜🎜 #Und wenn Nach dem Aufruf von sys.exit(n) im Code bedeutet dies, dass das Programm beendet wird. Unabhängig davon, ob n gleich 0 ist, dh ob es normal oder abnormal beendet wird, werden die nachfolgenden Anweisungen nicht ausgeführt. Das heißt, „print(“ wird nicht ausgeführt. Python sys.exit() Verwendungsbeispiel „)“ Satz. Aus der folgenden Abbildung ist auch ersichtlich, dass die Anweisung nach sys.exit(888) im PyCharm-Editor gelb hervorgehoben wurde (bei normaler Grammatik wird sie nicht gelb angezeigt) und das laufende Ergebnis nicht ausgeführt wird sys Die Anweisung nach .exit(888):
sys.exit() Anwendbares Szenario – das Steuerprogramm wird beendet midway# 🎜🎜#Unter normalen Umständen wird der Interpreter automatisch beendet, wenn die Ausführung das Ende des Hauptprogramms erreicht. Das obige Beispiel hat uns mitgeteilt, dass es nicht funktioniert, wenn Sie auf halbem Weg beenden möchten, zuerst sys.exit() und dann andere Anweisungen aufzurufen, und der Editor wird Sie warnen.
Wenn Sie frei steuern möchten, ob das Programm auf halbem Weg beendet wird, können Sie die Methode „sys.exit(n)+catchException“ verwenden. Unter diesen kann n ein ganzzahliger Parameter oder ein Zeichenfolgenparameter sein. Wenn n ein Wert ungleich 0 ist, wird eine SystemExit-Ausnahme ausgelöst, die im Hauptprogramm erfasst werden kann:# sys.exit()用法示例 def exit_function(value): print("sys.exit()捕获到的value是%s" % value) sys.exit(0) print("start sys") try: sys.exit(888) except SystemExit as value: exit_function(value=value) print("end sys")#🎜🎜 #① Beispiel des Programms, das mittendrin beendet wird
Die Ausführungsergebnisse sind wie folgt:
Analyse des Ausführungsprozesses :Das Programm führt zuerst print("start sys")
Führt dann die try-Anweisung aus und ruft sys.exit(888) auf# 🎜🎜 #Erfassen Sie dann die Systemausnahme. Der Wert der erfassten SystemExit-Ausnahme ist 888 Funktion „exit_function“, Führe die Anweisung aus, drucke den erfassten Wert und rufe schließlich sys.exit(0) auf, um das Programm zu beenden
上个示例的执行结果可以看到在exit_function函数中调用sys.exit(0),此时程序就会退出,不会再执行print("end sys"),而当在exit_function函数中注释掉sys.exit(0),则会继续执行最后的代码print("end sys"),即:程序中途不退出,如下所示:
print(sys.platform)
Windows下运行:
Linux下运行:
除了sys.platform外,通过platform.system()也可以获取到当前系统平台:
Windows下运行:
Linux下运行:
我们都知道Python是跨平台语言,只要操作系统安装了Python环境,那么同一份Python代码就可以既运行在Linux上,也可以运行在Windows上,亦或是Mac上。
而使用sys.platform或platform.system()获取到当前系统平台名称后,我们就可以针对性地作出不同操作,例如:
linux_content = "111111" windows_content = "222222" # 平台为Linux,执行逻辑1、发送文本1到指定邮件 if platform.system() == "Linux": send_email(linux_content) # 平台为Windows,执行逻辑2、发送文本2到指定邮件 elif platform.system() == "Windows": send_email(windows_content)
sys.path是Python的搜索模块的路径集,供Python从中查找模块,返回一个list。
print(sys.path)
如果是在IDE中执行Python程序,编译器会自动把当前项目的根目录加入到包查找路径中,可以理解为添加到环境变量下,所以直接执行是没有问题的。但是在cmd或是Terminal控制台中直接使用Python相关命令来执行程序,则不会自动将当前项目加入到PYTHONPATH环境变量下,如果涉及到import其他文件夹下的变量就会报类似"ModuleNotFoundError: No module named 'xxxx'"这样的错误。
解决方法:通过sys.path.append()方法将当前项目的根目录添加到系统环境变量中:
import sys root_path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(root_path)
在Python中, input() 等价于 sys.stdin.readline()
① 先来看看使用input()的实现效果
# sys.stdin 与 input number = input("please input a number:") print("your input number is %s" % (number))
执行效果如下:
② 再来看看使用sys.stdin.readline()的实现效果
print("please input a number:",)# 逗号表示不换行 nn = sys.stdin.readline() print("your input number is %s" % (nn))
执行效果如下:
在Python中, print() 等价于 sys.stdout.readline()
① 先来看看使用print()的实现效果
# sys.stdout 与 print print("hello world")
执行效果如下:
② 再来看看使用sys.stdin.write()的实现效果
sys.stdout.write("hello world")
执行效果如下:
所以综上所述,input()+print() 结合的代码语句即可使用sys.stdin.readline()+sys.stdin.write()代替,如下:
sys.stdout.write("please input a number: n") number = sys.stdin.readline() sys.stdout.write("your input number is %s" % number)
执行效果如下:
Das sys-Modul ist ein Modul, das mit Python geliefert wird und hauptsächlich mit dem Python-Interpreter Interaction verwendet wird. Es verfügt über viele Methoden oder Attribute, darunter:
1.sys.argv wird zum Übertragen von Parametern von außerhalb des Programms an das Programm verwendet und kann die Befehlszeilenparameterliste abrufen. Die argv-Liste enthält alle an das Skript übergebenen Parameter:
2.sys.exit(n) dient zum Beenden des Programms:
sys.exit(n) wird häufig zusammen mit der Erfassung von SystemExit-Ausnahmen verwendet, um zu steuern, ob das Programm auf halbem Weg frei beendet wird.
3.sys.platform wird verwendet, um die aktuelle Python-Laufplattform abzurufen, ähnlich wie platform.system(); , wird häufig verwendet, um unterschiedliche Betriebslogiken für verschiedene Betriebssysteme zu erstellen.
4.sys.path ist der Pfadsatz des Python-Suchmoduls. Das Stammverzeichnis des aktuellen Projekts wird dem System über sys.path.append() hinzugefügt. Methode. Umgebungsvariablen können verwendet werden, um Fehler zu beheben, wenn Module nicht gefunden werden können.
5 In Python entspricht input() sys.stdout.readline(. ).
Das obige ist der detaillierte Inhalt vonPython verwendet häufig Standardbibliotheken und Bibliotheken von Drittanbietern im 2-SYS-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!