十個(gè)必備 Python 與操作系統(tǒng)交互命令實(shí)踐
Python作為一門(mén)強(qiáng)大的編程語(yǔ)言,其與操作系統(tǒng)的交互能力是程序員日常開(kāi)發(fā)中不可或缺的一部分。本文將通過(guò)10個(gè)基礎(chǔ)到進(jìn)階的實(shí)踐案例,幫助Python初學(xué)者掌握如何利用Python與操作系統(tǒng)進(jìn)行有效溝通。我們將逐一探索這些命令,從簡(jiǎn)單的文件操作到復(fù)雜的進(jìn)程管理。
1. 獲取當(dāng)前工作目錄
import os
# 顯示當(dāng)前工作目錄
current_dir = os.getcwd()
解釋?zhuān)簅s.getcwd()函數(shù)用于獲取當(dāng)前工作目錄,這對(duì)于路徑操作是一個(gè)很好的起點(diǎn)。
2. 改變工作目錄
# 改變當(dāng)前工作目錄
new_dir = "/path/to/new/directory"
os.chdir(new_dir)
print(os.getcwd())
注意:確保提供的路徑存在,否則會(huì)拋出異常。
3. 列出目錄內(nèi)容
# 列出指定目錄下的所有文件和子目錄
files = os.listdir('.')
for file in files:
print(file)
小技巧:使用os.walk('.')可以遞歸地遍歷目錄樹(shù)。
4. 創(chuàng)建與刪除文件
# 創(chuàng)建文件
with open('test.txt', 'w') as f:
f.write("Hello, World!")
# 刪除文件
import os
os.remove('test.txt')
安全提示:刪除文件前請(qǐng)確保這是你想要的操作,避免數(shù)據(jù)丟失。
5. 讀寫(xiě)文件
# 讀取文件
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 寫(xiě)入文件
with open('example.txt', 'a') as file:
file.write("\nNew line added.")
模式說(shuō)明:'r'表示讀取,'w'覆蓋寫(xiě)入,'a'追加寫(xiě)入。
6. 處理文件路徑
import os.path
# 檢查文件是否存在
file_path = "example.txt"
if os.path.exists(file_path):
print("文件存在!")
else:
print("文件不存在。")
擴(kuò)展:os.path.join()和os.path.split()用于構(gòu)建和拆分路徑。
7. 執(zhí)行系統(tǒng)命令
import subprocess
# 執(zhí)行l(wèi)s命令(Linux/Mac)或dir命令(Windows)
subprocess.run(['ls']) # 或 subprocess.run(['dir'], shell=True)
跨平臺(tái):確保命令適用于你的操作系統(tǒng)環(huán)境。
8. 管理進(jìn)程
import psutil
# 獲取當(dāng)前運(yùn)行的所有進(jìn)程列表
for proc in psutil.process_iter(['pid', 'name']):
print(proc.info)
psutil庫(kù):提供了跨平臺(tái)的方式來(lái)訪問(wèn)系統(tǒng)信息和進(jìn)程管理。
9. 定時(shí)任務(wù)
from time import sleep
def greet():
print("Hello, Python!")
# 模擬定時(shí)任務(wù),每隔5秒執(zhí)行一次
while True:
greet()
sleep(5)
實(shí)際應(yīng)用:對(duì)于更復(fù)雜的定時(shí)任務(wù),推薦使用schedule庫(kù)。
10. 環(huán)境變量操作
import os
# 獲取環(huán)境變量
print("PATH:", os.environ['PATH'])
# 設(shè)置環(huán)境變量(僅限于當(dāng)前進(jìn)程)
os.environ['NEW_VAR'] = 'value'
print(os.environ['NEW_VAR'])
注意:設(shè)置的環(huán)境變量不會(huì)持久化,重啟Python解釋器后消失。
好了,今天的分享就到這里了,我們下期見(jiàn)。如果本文對(duì)你有幫助,請(qǐng)動(dòng)動(dòng)你可愛(ài)的小手指點(diǎn)贊、轉(zhuǎn)發(fā)、點(diǎn)個(gè)在看吧!