1. 程式人生 > 其它 >Python3執行系統命令的幾種方式

Python3執行系統命令的幾種方式

python 推導式

推導式介紹:

推導式comprehensions(又稱解析式),是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的資料序列的結構體。

Python 支援各種資料結構的推導式:

  • 列表(list)推導式
  • 字典(dict)推導式
  • 集合(set)推導式
  • 元組(tuple)推導式

一、列表推導式

需求:返回1-100的所有偶數

方法一:通過以前的方法迴圈實現

# 返回1-100的所有偶數
# while迴圈
i = 0
res1 = []
while i <= 100:
    if i % 2 == 0:
        res1.append(i)
    i += 1
print("res1的值為:", res1)


# for 迴圈
res = []
for i in range(1, 101):
    if i % 2 == 0:
        res.append(i)
print(res)

方法二:使用列表推導式

# 列表推導式 列表解析
# print([i for i in range(1, 101) if i % 2 == 0])

# 練習
print(["第" + str(i) + "題" for i in range(1, 10)])
print([f"第{i}題" for i in range(1, 10)])

二、字典推導式

需求:解析cookie的值,使得cookie值變為 { key : value } 格式

方法一:通過for方法實現

# 字典的解析
cookie = "rememberMe=true; jenkins-timestamper-offset=-28800000; username=Admin123; " \
 "password=bV20PE+Yc97gTHFulwksGA3CMiTC1IBUFUfy7thyETb2nw3wnApW5KU4HWnyNicTYB9J7SFRVQIuKVpYNt+/zw==; " \
             "Admin-Token=eyJhbGciOiJIUzUxMiJ9" \
             ".eyJsb2dpbl91c2VyX2tleSI6IjllOTRhNmQzLWJiMTMtNDczMS1hMzBlLTBiOWRmYjdhOTBiOSJ9.OLAXY7ZlKcO" \
             "-9O3aZbugmj3EpRyPZDlCE3EL3dOHWBOeeJcfUfaQbI7xGC287URgnOzHuZ4bZ2Lv5PPVaNT0Hw"
             
# cookie格式: key=value; key1=value1;

# cookie轉換後的格式: {key:value, key1:value1}

new_cookie = {}
for item in cookie.split(";"):  # 先用;分割cookie
    s = item.split("=")  # 用 = 分割
    new_cookie[s[0]] = s[1]  # 左邊作為key,右邊作為值,新增到new_cookies中去
print(new_cookie)

方法二:使用字典推導式

# 字典推導式 字典解析
print({item.split("=")[0]: item.split("=")[1] for item in cookie.split(";")})

# 簡單練習
print({i:i+1 for i in range(1,10)})

三、集合推導式

# 計算數字1,2,3的平方數
print({i**2 for i in (1,2,3)})

四、元組推導式

元組推導返回的結果是一個生成器物件

 a = (x for x in range(1,10))
 print(a)  # 返回的是生成器物件
 # 結果:<generator object <genexpr> at 0x7faf6ee20a50>
 print(tuple(a)) # # 使用 tuple() 函式,可以直接將生成器物件轉換成元組
 # 結果:(1, 2, 3, 4, 5, 6, 7, 8, 9)