生活随笔
收集整理的這篇文章主要介紹了
python之sys模块【获取参数】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sys模塊:system指的是解釋器(os指的是操作系統)
常用操作:用于接收系統操作系統調用解釋器傳入的參數
實驗操作:
在python工具中敲入以下代碼:
import sys
print(sys.argv)
#獲取腳本名稱 sys.argv[0]
print(sys.argv[0])
#獲取腳步傳遞的第一個參數:
print(sys.argv[1])
#獲取腳本傳遞的第二個參數
print(sys.argv[2])
在命令行中運行:
運行成功
import os
import sysprint(sys.version)# 作用:根據python版本編寫符合不同版本的程序 使程序可兼容
if sys.version[0] == '2':print('running in python2...')
elif sys.version[0] == '3':print('running in python3...')# 返回模塊的搜索路徑,初始化使用PYTHONPATH環境變量
print(sys.path)
# 可以實現跨平臺
print(sys.platform)
if sys.platform == 'linux':os.system('ifconfig')
else:os.system('ipconfig')3.6.4 (default, Aug 10 2018, 11:14:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
running in python3...
['/home/kiosk/PycharmProjects/2019python', '/home/kiosk/PycharmProjects/2019python', '/usr/local/python3/lib/python36.zip', '/usr/local/python3/lib/python3.6', '/usr/local/python3/lib/python3.6/lib-dynload', '/usr/local/python3/lib/python3.6/site-packages', '/usr/local/python3/lib/python3.6/site-packages/Twisted-17.1.0-py3.6-linux-x86_64.egg', '/usr/local/python3/lib/python3.6/site-packages/Automat-0.7.0-py3.6.egg', '/usr/local/python3/lib/python3.6/site-packages/constantly-15.1.0-py3.6.egg', '/usr/local/python3/lib/python3.6/site-packages/zope.interface-4.5.0-py3.6-linux-x86_64.egg', '/usr/local/python3/lib/python3.6/site-packages/attrs-18.2.0-py3.6.egg']
linux
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.25.1.250 netmask 255.255.255.0 broadcast 172.25.1.255inet6 fe80::221:ccff:febf:7aa6 prefixlen 64 scopeid 0x20<link>ether 00:21:cc:bf:7a:a6 txqueuelen 1000 (Ethernet)RX packets 1205 bytes 105121 (102.6 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 528 bytes 35864 (35.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ether 00:21:cc:bf:7a:a6 txqueuelen 1000 (Ethernet)RX packets 1208 bytes 127129 (124.1 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 520 bytes 41576 (40.6 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0device interrupt 20 memory 0xf2500000-f2520000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 245 bytes 102297 (99.8 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 245 bytes 102297 (99.8 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0privbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 172.25.250.250 netmask 255.255.255.0 broadcast 172.25.250.255ether 52:54:00:9e:c5:d4 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:22:42:bc txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500ether 52:54:00:0f:6b:dc txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.20.10.10 netmask 255.255.255.240 broadcast 172.20.10.15inet6 2409:8970:4c0:3ed0:d8ef:2aed:6f41:c3c2 prefixlen 64 scopeid 0x0<global>inet6 fe80::2639:b9e9:1df5:6e4d prefixlen 64 scopeid 0x20<link>ether 8c:70:5a:41:61:ac txqueuelen 1000 (Ethernet)RX packets 49988 bytes 34571452 (32.9 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 47976 bytes 8449382 (8.0 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
--------------------練習--------------------
在命令行中,比較兩文件的不同
import difflib
import sysif len(sys.argv) !=3:print("""Usage: %s 比較的文件1 比較的文件2"""%(sys.argv[0]))else:filename1 = sys.argv[1]filename2 = sys.argv[2]try:with open(filename1) as f1,open(filename2) as f2:content1 = f1.read().splitlines(keepends=True)content2 = f2.read().splitlines(keepends=True)except Exception as e:print('比較錯誤,錯誤的原因',e)d = difflib.HtmlDiff()htmlContent = d.make_file(content1,content2)with open('different.html','w') as f:f.write(htmlContent)
總結
以上是生活随笔為你收集整理的python之sys模块【获取参数】的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。