系統資訊
#!/usr/bin/evn python3
#輸入乙個使用者名稱判斷是否存在
#編寫日期:2021/3/11
print
("輸入使用者判斷其是否存在"
)n =
input
("請輸入乙個使用者:"
)import subprocess
ret = subprocess.getstatusoutput(
"id "
+ n)
code, result = ret
if code==0:
print
("使用者存在"
)else
:print
("使用者不存在"
)#輸出目前系統中都監聽了哪些埠
cmd1 =
'ss -ntal'
ret1 = subprocess.getoutput(cmd1)
ports =
for line in ret1.splitlines():
if line.startswith(
'listen'):
host_port = line.split()[
3]port = host_port.split(
':')[-
1]for i in port:
if port in ports:
continue
print
(ports)
#輸入乙個埠,判斷服務是否開啟
cmd2 =
'ss -ntal'
ret2 = subprocess.getoutput(cmd2)
ports =
for line in ret2.splitlines():
if line.startswith(
'listen'):
host_port = line.split()[
3]port = host_port.split(
':')[-
1]for i in port:
if port in ports:
continue
while
true
: n =
input
('請輸入乙個埠:')if
not n:
continue
if n ==
'q':
break
n ==
int(n)
if n in ports:
print
('該服務已開啟'
)else
:print
('該服務未開啟'
)exit(
'退出程式......'
)#輸出當前系統中所有的普通使用者
ret3 = subprocess.getoutput(
'cat /etc/passwd'
)for line in ret3.splitlines():
user = line.split(
':')[0
] uid = line.split(
':')[2
]ifint(uid)
>
999:
print
(user)
#獲取當前系統中非回環介面的 ipv4位址
ret4 = subprocess.getoutput(
'ifconfig'
)for line in ret4.splitlines():
if'inet'
in line and
'broadcast'
in line:
ip = line.split()[
1]print
("當前系統中非回環介面的ipv4位址有 "
+ ip)
#獲取當前系統中 cpu 型號, 核心數量
cpu_name =subprocess.getoutput(
"grep 'name' /proc/cpuinfo | uniq -c"
)cpu_number = cpu_name.split()[
0]cpu = cpu_name.split(
": ")[
1]print
("cpu版本是 "
+ cpu +
"\n核心數量是"
+ cpu_number +
"個")
#獲取當前系統記憶體使用情況:總容量,可用容量
import subprocess
cmd3 =
'free -h'
ret5 = subprocess.getoutput(cmd3)
for line in ret5.splitlines():
if'mem'
in line:
_,total,_,free,
*_ = line.split(
)print
("系統記憶體總容量為 "
+ total +
"\n系統記憶體剩餘容量為 "
+ free)
#獲取當前系統的磁碟情況,每塊磁碟的裝置名稱和總容量
cmd4 =
'lsblk'
ret6 = subprocess.getoutput(cmd4)
for line in ret6.splitlines():
if'disk'
in line:
name,_,_,size,
*_ = line.split(
)print
("磁碟"
+ name +
"的總容量為: "
+ size)
#獲取當前系統磁碟的有效分割槽情況,列印出掛載點和分割槽容量
cmd5 =
'lsblk'
ret7 = subprocess.getoutput(cmd5)
for line in ret7.splitlines():
if'part'
in line and
'/'in line:
_,_,_,size,_,_,mount = line.split(
)print
("該分割槽容量為:"
+ size +
" "
+"掛載點為:"
+ mount)
elif
'lvm'
in line and
'[swap]'
notin line:
_,_,_,size,_,_,mount = line.split(
)print
("該分割槽容量為:"
+ size +
" "
+"掛載點為:"
+ mount)
#輸出當前系統的 cpu 負載情況 1 ,5 ,15 分鐘
cmd6 =
('uptime'
)ret8 = subprocess.getoutput(cmd6)
a = ret8.split(
':')[-
1]one = a.split(
',')[0
]five = a.split(
',')[1
]fifteen = a.split(
',')[2
]print
("當前cpu平均負載:"
+"\n一分鐘:"
+ one +
"\n五分鐘:"
+ five +
"\n十五分鐘:"
+ fifteen )
Python 基本輸入輸出
1.輸出 print hello,world python3中print需要加 print hello,world 多個字串之間用 逗號連線 print hello world 且遇到逗號會輸出乙個空格。2.注釋 python中用 注釋 print hello 3.變數 python中定義變數時不需...
python的基本輸入輸出
python的輸入輸出 輸入 input raw input 1.input 用於收集數字輸入 a input input a input a 2 a 可以輸入乙個變數 a input inputa input a a a 無法接收字元 a input input a input a b trace...
Python基本格式化輸出
什麼叫格式化輸出?資料按照某種特殊的要求輸出 假如輸入乙個整數,希望整數按照十六進製制,八進位制輸出,如果輸入乙個小數,希望小數保留後面2位數然後輸出,或者以科學計數法的方式來輸出小數。字串的輸出希望在十個格仔內輸出,或者左對齊,居中等等 python字串格式化符號 關於整數的格式化輸出 num01...