Python 基本輸出

2021-10-22 06:59:47 字數 3822 閱讀 4111

系統資訊

#!/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...