?Python/ target=_blank class=infotextkey>Python 是我最喜歡的編程語言之一。與其他編程語言一樣,使用 Python 我們幾乎可以創建任何程序。但 Python 有一些獨特的特點,即 Python 的單行代碼。單行代碼可以像完整的程序一樣強大。
?在這里,我將討論我最喜歡的前 10 個 Python 單行代碼,一行代碼,顧名思義,就是只占一行的代碼。一行代碼以簡潔、緊湊的方式解決指定的問題。這些代碼可以在您的日常生活中使用。
1、通過創建 QR 碼共享 Wi-Fi 密碼
在嘗試在系統中運行此代碼塊之前,您需要安裝 wifi_qrcode_generator 庫。您可以使用 pip 輕松完成安裝。在命令提示符 / 終端中輸入以下命令:
linuxmi@linuxmi:~/www.linuxmi.com$ pip install wifi-qrcode-generator
import wifi_qrcode_generator as qr
qr.wifi_qrcode('wifi name ', False, 'WPA', 'password')
輸出:
您將獲得這樣的二維碼。
2、將圖像轉換為視頻
你是否有一堆圖像并想將它們轉換為視頻?那么使用這個厲害的 Python 單行代碼。
首先,你需要通過在終端/命令提示符中運行以下命令來安裝 moviepy 模塊::
linuxmi@linuxmi:~/www.linuxmi.com$ pip install moviepy
from moviepy.editor import ImageSequenceClip as imageSeq
imageSeq(["linuxmi.png", "linuxmi.com.png"], fps=1).write_videofile("linuxmi.mp4")
3、在類 Unix 系統上顯示所有用戶列表
打印出 /etc/passwd 文件中的所有用戶列表:
print('n'.join(line.split(":",1)[0] for line in open("/etc/passwd")))
輸出:
4、對 Python 腳本進行性能分析
在運行腳本時,輸入 -m cProfile 來了解代碼的性能。
linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m cProfile linuxmi.py
輸出:
5、查找集合的所有子集
使用 itertools 中的 combinations 函數來查找一個集合的所有子集。
from itertools import combinations
print(list(combinations([1, 2, 3, 4], 2)))
輸出:
6、CSV 轉 JSON
導入 csv 和 json 庫:
import csv,json
open("linuxmi.json", "w").write(json.dumps(list(csv.reader(open('linuxmi/linuxmi.csv')))))
這段代碼將創建一個名為 linuxmi.json 的 JSON 文件。
JSON 轉 CSV:
import pandas as pd
pd.read_json('linuxmi.json').to_csv('linuxmi.csv', index = None)
7、啟動服務器并分享當前目錄
linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m http.server 9999
8、從PDF中獲取表格
想要從 PDF 文件中提取表格嗎?那么可以使用 camelot 庫。這是最好的 Python 模塊之一,用于從 PDF 中提取表格。
首先在您的終端中運行以下命令來安裝 camelot:
linuxmi@linuxmi:~/www.linuxmi.com$ pip install camelot-py
import camelot as cl
table = cl.read_pdf('linuxmi.pdf', pages='all')
print(table)
9、壓縮css文件
import re
open("compressed.css", "w").write(re.sub("s*([{};,:])s*", "\1", re.sub("/*.*?*/", "", re.sub("s+", " ", open("sample.css").read()))))
10、下載任何網頁
您可以使用Python requests模塊下載任何網頁并在離線狀態下查看其源代碼。下面是執行此操作的Python一行代碼。
import requests as req
r = req.get(input("Enter URL: "), headers={'User-Agent':'Mozilla/5'}).text
print(r)
如下圖:
11、一行拼寫檢查器
在日常生活中,我們經常會犯拼寫錯誤。如果你需要一個可以自動糾正錯誤的一行腳本,請使用以下代碼。
首先在終端或命令提示符中運行以下命令安裝 autocorrect 模塊:
linuxmi@linuxmi:~/www.linuxmi.com$ pip install autocorrect
import autocorrect as autospell
check = autospell.Speller(lang='en').spell('speling')
print(check)
12、創建一個集合的冪集
使用 functools.reduce() 函數創建一個集合的冪集。
from functools import reduce
dataset = {1,2,3}
# Creating powerset
f = lambda l: reduce(lambda z, x: z + [y + [x] for y in z], l, [[]])
print(f(dataset))
"""
輸出
[[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
"""
13、計算獲得除法中的商和余數
一般我們若想取得除法當中的商和余數,一般是Python運算符號當中的//和/,而divmod方法則可以讓我們同時獲得除法運算當中的商和余數,代碼如下:
quotient, remainder = divmod(37, 5)
print(quotient, remainder)
14、列表當中數據類型的轉換
例如有下面的列表:
['1', '2', '3']
我們要將其轉換成整數類型,代碼如下:
print(list(map(int, ['1', '2', '3'])))
15、簡單的YT視頻下載器
通過一行簡單的代碼下載任何 YouTube 視頻以便離線觀看。對于這個腳本,我們需要 pytube 庫。
首先在終端/cmd中運行以下命令安裝pytube模塊 –
linuxmi@linuxmi:~/www.linuxmi.com$ pip install pytube
Defaulting to user installation because normal site-packages is not writeable
Collecting pytube
Downloading pytube-12.1.3-py3-none-any.whl (57 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.2/57.2 kB 155.3 kB/s eta 0:00:00
Installing collected packages: pytube
Successfully installed pytube-12.1.3
import pytube
pytube.YouTube(input("請輸入 youtube 視頻鏈接:")).streams.first().download()
總結
這就是我的頂級 15個 Python 單行代碼,每個開發人員都必須了解。非常感謝您閱讀本文。我希望您找到了這篇文章有用的,并學到了新的東西。