精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python 操作系統(tǒng)交互的 15 個(gè)實(shí)用命令

開(kāi)發(fā) 前端 系統(tǒng)
本文我們將通過(guò)十個(gè)簡(jiǎn)單到復(fù)雜的實(shí)例,逐步引導(dǎo)你學(xué)習(xí)如何運(yùn)用Python的os和subprocess模塊來(lái)執(zhí)行操作系統(tǒng)命令。

對(duì)于Python初學(xué)者而言,掌握如何使用Python與操作系統(tǒng)進(jìn)行交互是一項(xiàng)非常實(shí)用的技能。這不僅能夠讓你的腳本更加靈活強(qiáng)大,還能在自動(dòng)化任務(wù)處理、文件管理等方面大顯身手。下面,我們將通過(guò)10個(gè)簡(jiǎn)單到復(fù)雜的實(shí)例,逐步引導(dǎo)你學(xué)習(xí)如何運(yùn)用Python的os和subprocess模塊來(lái)執(zhí)行操作系統(tǒng)命令。

1. 列出當(dāng)前目錄下的所有文件

首先,讓我們從最基本的開(kāi)始——列出當(dāng)前目錄下的所有文件和文件夾。

import os

def list_files():
    files = os.listdir('.')
    print("當(dāng)前目錄下的文件和文件夾:")
    for file in files:
        print(file)

list_files()

這段代碼使用了os.listdir('.'),.代表當(dāng)前目錄,它返回一個(gè)列表,包含了該目錄下所有文件和文件夾的名字。

2. 檢查文件是否存在

在進(jìn)行文件操作之前,檢查文件是否存在是基礎(chǔ)而重要的一步。

def check_file(filename):
    return os.path.exists(filename)

print("文件是否存在:", check_file('example.txt'))

這里,os.path.exists()函數(shù)用于檢查指定路徑的文件或目錄是否存在。

3. 創(chuàng)建目錄

接下來(lái),學(xué)習(xí)如何創(chuàng)建目錄。

def create_directory(directory):
    os.makedirs(directory, exist_ok=True)

create_directory('new_folder')

os.makedirs()可以創(chuàng)建多級(jí)目錄,exist_ok=True防止因目錄已存在而拋出異常。

4. 刪除文件

小心使用,刪除操作不可逆!

def delete_file(filename):
    if os.path.exists(filename):
        os.remove(filename)
    else:
        print("文件不存在")

delete_file('no_exist.txt')  # 示例:嘗試刪除一個(gè)不存在的文件

5. 移動(dòng)或重命名文件

文件管理中的常見(jiàn)操作。

def move_file(src, dst):
    os.rename(src, dst)

move_file('old_name.txt', 'new_name.txt')

os.rename()既可用于重命名文件,也可用于在同一文件系統(tǒng)內(nèi)移動(dòng)文件。

6. 運(yùn)行外部命令(基本)

使用subprocess模塊執(zhí)行操作系統(tǒng)命令。

import subprocess

def run_command(command):
    subprocess.run(command, shell=True)

run_command('dir')  # 在Windows中列出目錄,Linux下使用'ls'

注意:shell=True允許直接傳遞字符串作為命令,但有安全風(fēng)險(xiǎn),特別是當(dāng)命令部分來(lái)自用戶輸入時(shí)。

7. 獲取環(huán)境變量

了解系統(tǒng)環(huán)境配置。

def get_env_variable(var_name):
    return os.environ.get(var_name, "未找到")

print(get_env_variable('PATH'))

os.environ是一個(gè)字典,包含了所有的環(huán)境變量。

8. 改變當(dāng)前工作目錄

有時(shí)候,我們需要在不同的目錄間切換。

def change_dir(new_dir):
    os.chdir(new_dir)
    print("當(dāng)前目錄已改為:", os.getcwd())

change_dir('new_folder')

os.chdir()改變當(dāng)前工作目錄,os.getcwd()則用來(lái)獲取當(dāng)前工作目錄。

9. 執(zhí)行命令并捕獲輸出

有時(shí)候我們需要獲取命令的輸出。

def capture_output(command):
    result = subprocess.check_output(command, shell=True, text=True)
    return result.strip()

print(capture_output('echo Hello, World!'))

這里,check_output()執(zhí)行命令并返回其輸出,text=True使輸出為文本格式而非字節(jié)串。

10. 高級(jí):批量重命名文件

最后,一個(gè)進(jìn)階示例,批量重命名文件。

import glob

def batch_rename(pattern, new_name_base, extension):
    for count, filename in enumerate(glob.glob(pattern)):
        new_name = f"{new_name_base}_{count}.{extension}"
        os.rename(filename, new_name)
        print(f"重命名: {filename} -> {new_name}")

batch_rename('*.txt', 'document', 'txt')

這個(gè)例子展示了如何使用glob.glob()匹配文件模式,并利用循環(huán)批量重命名文件。

進(jìn)階實(shí)踐與技巧

11. 并行執(zhí)行命令

在處理大量文件或長(zhǎng)時(shí)間運(yùn)行的任務(wù)時(shí),利用并行處理可以顯著提高效率。Python的concurrent.futures模塊可以幫助我們實(shí)現(xiàn)這一點(diǎn)。

from concurrent.futures import ThreadPoolExecutor
import time

def slow_command(n):
    time.sleep(1)  # 模擬耗時(shí)操作
    return f"Command {n} completed."

def parallel_commands(commands):
    with ThreadPoolExecutor() as executor:
        results = list(executor.map(slow_command, commands))
    return results

commands = [i for i in range(5)]
print(parallel_commands(commands))

這段代碼創(chuàng)建了一個(gè)線程池來(lái)并行執(zhí)行命令,大大減少了總等待時(shí)間。

12. 使用shlex.split()安全地分割命令行參數(shù)

當(dāng)需要將字符串作為命令行指令執(zhí)行時(shí),使用shlex.split()可以更安全地處理包含空格和特殊字符的字符串。

import shlex

command_str = 'echo "Hello, World!"'
safe_args = shlex.split(command_str)
subprocess.run(safe_args)

這樣處理后,即使字符串中有引號(hào)或空格,也能正確解析為命令行參數(shù)。

13. 實(shí)時(shí)監(jiān)控命令輸出

有時(shí)候我們需要實(shí)時(shí)查看命令的輸出,而不是等待命令完全執(zhí)行完畢。subprocess.Popen提供了這樣的能力。

import subprocess

def stream_output(command):
    process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True, text=True)
    while True:
        output = process.stdout.readline()
        if output == '' and process.poll() is not None:
            break
        if output:
            print(output.strip())
    rc = process.poll()
    print(f"命令完成,退出碼: {rc}")

stream_output('ping www.google.com')

這段代碼創(chuàng)建了一個(gè)持續(xù)讀取子進(jìn)程輸出的循環(huán),直到命令執(zhí)行完畢。

14. 錯(cuò)誤處理與日志記錄

在執(zhí)行操作系統(tǒng)命令時(shí),正確處理錯(cuò)誤是非常重要的。使用try-except結(jié)構(gòu),并考慮使用Python的logging模塊記錄日志。

import logging

logging.basicConfig(level=logging.INFO)

def execute_with_logging(command):
    try:
        subprocess.run(command, check=True, shell=True)
        logging.info(f"命令執(zhí)行成功: {command}")
    except subprocess.CalledProcessError as e:
        logging.error(f"命令執(zhí)行失敗: {command}, 錯(cuò)誤碼: {e.returncode}")

execute_with_logging('nonexistent_command')  # 示例錯(cuò)誤命令

這樣可以確保在命令失敗時(shí),你能夠得到清晰的反饋。

15. 綜合應(yīng)用:自動(dòng)化備份腳本

結(jié)合以上知識(shí),編寫一個(gè)簡(jiǎn)單的自動(dòng)化備份腳本,將指定目錄的內(nèi)容打包并移動(dòng)到備份目錄。

import shutil
from datetime import datetime

def backup_folder(source, destination):
    timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
    backup_name = f"backup_{timestamp}.zip"
    shutil.make_archive(backup_name, 'zip', source)
    shutil.move(backup_name, os.path.join(destination, backup_name))
    print(f"備份完成: {backup_name} 移動(dòng)到了 {destination}")

backup_folder('source_folder', 'backup_folder')

這個(gè)腳本使用了shutil.make_archive創(chuàng)建zip文件,然后移動(dòng)到備份目錄,展示了Python在文件管理和自動(dòng)化任務(wù)中的強(qiáng)大能力。

通過(guò)這些進(jìn)階實(shí)踐和技巧,你的Python腳本將變得更加強(qiáng)大和靈活。不斷實(shí)踐,結(jié)合具體需求進(jìn)行創(chuàng)新,你的編程技能將不斷進(jìn)步。

責(zé)任編輯:趙寧寧 來(lái)源: 手把手PythonAI編程
相關(guān)推薦

2024-12-16 16:40:07

Python命令操作系統(tǒng)

2024-08-19 10:00:00

Python操作系統(tǒng)開(kāi)發(fā)

2011-01-06 14:22:50

2024-11-19 18:32:12

Python路徑操作

2013-06-04 11:22:01

Linux常用命令

2024-10-09 16:52:50

操作系統(tǒng)Python

2024-09-30 11:38:30

Python操作系統(tǒng)

2013-10-08 15:51:03

Linux find命

2015-10-29 13:10:08

passwd命令Linux

2023-11-06 18:02:28

Linux實(shí)用命令

2010-04-19 14:23:40

Unix操作系統(tǒng)

2015-07-27 09:22:53

Unix文件系統(tǒng)命令

2010-03-03 15:23:41

2017-01-13 08:30:02

Linux過(guò)濾文本實(shí)用命令

2010-01-06 10:57:05

Linux操作系統(tǒng)

2015-09-23 09:22:01

系統(tǒng)硬件命令

2018-08-10 09:09:06

2020-09-28 15:14:31

Linux常用命令實(shí)用命令

2010-05-06 17:59:50

Unix命令

2025-09-04 02:11:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲区欧美区| 亚洲欧美日本国产| 1000精品久久久久久久久| 91最新国产视频| 可以免费看的av毛片| 成人黄色小视频| 欧美v日韩v国产v| 无遮挡又爽又刺激的视频| 国内精品久久久久久野外| 成人免费毛片aaaaa**| 国产z一区二区三区| 日韩在线观看视频一区二区| 日韩成人av在线资源| 欧美日韩不卡一区| 18禁免费观看网站| 岛国成人毛片| 国产午夜亚洲精品不卡| 国产精品v欧美精品∨日韩| 日韩中文字幕三区| 浪潮av一区| 2019国产精品| 成人在线视频网址| 亚洲最大成人在线视频| 亚洲欧美久久久| 欧美黑人xxxx| 国产又粗又硬又长又爽| av永久不卡| 日韩精品视频三区| 色婷婷狠狠18禁久久| 国精品产品一区| 色综合久久中文字幕| 免费看毛片的网址| 成人日韩欧美| 最近中文字幕一区二区三区| 日韩高清国产精品| 视频一区二区三区在线看免费看| 国产精品资源网| 成人国产在线激情| 中文字幕免费在线看| 日韩一区精品字幕| 国产97在线视频| 国产一级片av| 另类av一区二区| 日本一区二区三区在线播放| 久久精品国产亚洲AV无码男同| 亚洲国产精品成人| 日韩网站免费观看高清| 成人免费视频入口| 欧美艳星介绍134位艳星| 亚洲欧洲一区二区三区在线观看 | 天堂久久午夜av| 欧美日韩中国免费专区在线看| 成年人深夜视频| 日韩特级毛片| 亚洲国产精品久久一线不卡| 欧美一级视频在线播放| 成人性生交大片免费看网站| 亚洲在线视频网站| 久久国产午夜精品理论片最新版本| 最新国产露脸在线观看| 亚洲一区二区三区四区在线免费观看| 亚洲天堂第一区| 尤物yw193can在线观看| 亚洲一区国产视频| 狠狠干 狠狠操| 免费观看欧美大片| 日本高清不卡视频| 一个色综合久久| 色悠久久久久综合先锋影音下载| 日韩精品一区二区三区在线播放 | 亚洲视频中文字幕在线观看| 美女精品自拍一二三四| 成人欧美一区二区三区黑人孕妇 | 国产成人精品免费一区二区| 99电影网电视剧在线观看| 亚洲欧美激情另类| 91美女精品福利| 日日骚一区二区网站| 久久五月精品| 亚洲国产综合色| 久久精品免费一区二区| 搜成人激情视频| 欧美一区二区视频观看视频| 日韩av手机在线播放| 精品一区二区三区中文字幕老牛 | 一区二区视频国产| 国内小视频在线看| 色综合天天综合给合国产| 五月婷婷丁香色| 2023国产精华国产精品| 亚洲欧美国产另类| 黄色a级片在线观看| 国产精品最新自拍| 成人网在线观看| 日韩在线观看视频一区| 国产精品丝袜一区| 青草青青在线视频| 日本电影久久久| 亚洲激情视频在线播放| 久久精品色妇熟妇丰满人妻| 在线看片一区| 国产一区二区色| 色资源在线观看| 亚洲欧美日韩国产一区二区三区| 欧美视频免费看欧美视频| 欧美一级网址| 精品亚洲夜色av98在线观看| 日韩欧美国产成人精品免费| 国产精品毛片在线看| 91在线看www| 成年人在线视频免费观看| 亚洲国产精品久久人人爱| 性生活免费在线观看| 日韩电影不卡一区| 欧美激情视频一区二区三区不卡| 中文字幕 国产| 91啪亚洲精品| 国产人妻777人伦精品hd| 亚洲色图综合| 在线播放国产一区中文字幕剧情欧美 | 久久免费视频网| 国产丝袜视频在线观看| 国产视频在线观看一区二区三区 | 欧美一区1区三区3区公司| 污污网站在线看| 欧美日韩午夜影院| 国产熟女一区二区| 香蕉成人久久| 国产在线一区二区三区四区| 亚洲第一图区| 欧美丰满一区二区免费视频| 久久久久久久久久久久久久久| 激情欧美日韩| 99re热精品| 最新超碰在线| 日韩欧美国产三级电影视频| 久艹在线观看视频| 久热成人在线视频| 亚洲高清在线观看一区| 日本国产欧美| 亚洲最新av在线网站| 国产亚洲欧美日韩高清| 国产欧美精品一区二区三区四区| 欧美亚洲一二三区| 日韩av三区| 欧美在线一级视频| 国产精品成人免费一区二区视频| 久久99热99| 亚洲午夜久久久影院伊人| www.一区| 日韩一区二区三区xxxx| 中文字幕 日韩有码| 中文子幕无线码一区tr| 第一区免费在线观看| 99久久国产综合精品成人影院| 国产精品专区一| 麻豆av在线导航| 欧美v亚洲v综合ⅴ国产v| 久久久久久久国产精品毛片| 风间由美性色一区二区三区| 人人妻人人做人人爽| 日本国产精品| 国产精品第一页在线| 91caoporm在线视频| 欧美绝品在线观看成人午夜影视| 午夜精品久久久久99蜜桃最新版| 国产一区在线不卡| 欧洲精品在线播放| 欧亚精品一区| 国产精品美女在线| a级毛片免费观看在线| 精品国产乱码久久久久久图片 | 99精品中文字幕| 国产乱子伦视频一区二区三区| 三级在线免费观看| 欧美黄色录像| 国产精品久久久精品| 国内精品久久久久久野外| 精品国产乱码久久久久久久久| 久草手机在线观看| 中文字幕在线观看不卡视频| 国产精品嫩草69影院| 乱人伦精品视频在线观看| 亚洲 欧洲 日韩| 久久97久久97精品免视看秋霞| 国产成人精品日本亚洲| 91福利国产在线观看菠萝蜜| 国产丝袜一区二区三区| 国产男男gay体育生网站| 精品福利樱桃av导航| 国产午夜精品福利视频| 高清国产一区二区| www.色偷偷.com| 黄色av日韩| 亚洲7777| 久久久久久久久久久久久久久久久久久久| 日本在线精品视频| 男人天堂亚洲| 最近2019中文免费高清视频观看www99 | 欧美毛片在线观看| 国产亚洲欧美一区在线观看| 91亚洲一线产区二线产区| 日本不卡视频在线观看| 99re视频在线| 香蕉久久免费电影| 国模视频一区二区| 精品国产白色丝袜高跟鞋| 日韩精品免费电影| 国产福利第一视频| 欧美视频中文字幕| 草久久免费视频| 亚洲一区二区在线观看视频| 后入内射无码人妻一区| 91看片淫黄大片一级在线观看| 成年人网站av| 日本不卡一区二区| 中文字幕日本最新乱码视频| 国产一区欧美| 国产精品久久成人免费观看| 国产探花在线精品| 精品日韩美女| 91精品久久久久久综合五月天| 国产精品免费一区豆花| 亚洲欧洲日本韩国| 97人人爽人人喊人人模波多| 在线观看中文字幕的网站| 日韩亚洲综合在线| 国产经典自拍视频在线观看| 日韩av在线精品| 超碰福利在线观看| 欧美一级精品在线| 国产在成人精品线拍偷自揄拍| 在线免费观看视频一区| 免费看一级视频| 狠狠干狠狠久久| 国产成人在线免费观看视频| 自拍偷拍国产精品| 在线日韩国产网站| 国产精品福利影院| 精品亚洲乱码一区二区| 国产精品嫩草久久久久| 国产一区在线观看免费| 国产精品成人在线观看| 99精品中文字幕| 亚洲欧美日韩国产一区二区三区| 天天鲁一鲁摸一摸爽一爽| 国产精品福利一区二区三区| 久久99久久99精品免费看小说| 日本一二三四高清不卡| 一级片久久久久| 国产精品久久精品日日| 国产美女高潮视频| 一区二区日韩电影| 国产精品成人国产乱| 精品久久久久久久久久久| 国产在线观看黄色| 欧洲激情一区二区| 91精品国产乱码久久| 日韩亚洲欧美成人一区| 高h调教冰块play男男双性文| 亚洲国产成人精品久久| 色视频在线看| 日韩中文字幕精品视频| 超碰在线免费公开| 久久久久久久香蕉网| 国产伦子伦对白在线播放观看| 2019av中文字幕| 性欧美freehd18| 成人免费看黄网站| 荡女精品导航| 国产欧美精品日韩精品| 99久久这里有精品| 国产伦精品一区二区三区视频免费| 免费看久久久| 天堂精品一区二区三区| 在线观看国产精品入口| 九一国产精品视频| 日本欧美大码aⅴ在线播放| 成人黄色一级大片| 成人h动漫精品一区二区| 给我免费观看片在线电影的| 中文字幕欧美激情一区| 99视频只有精品| 欧美性猛交xxxx免费看久久久| 久久精品偷拍视频| 日韩亚洲欧美综合| 韩国福利在线| 欧美黑人一级爽快片淫片高清| 亚洲欧洲自拍| 亚洲一区二区三区在线视频| 日韩精品免费一区二区三区竹菊 | 中文字幕有码在线视频| 97免费在线视频| 亚洲欧洲一二区| 久久综合九色欧美狠狠| 在线精品国产| mm1313亚洲国产精品无码试看| 国产在线播精品第三| 少妇毛片一区二区三区| 一区二区三区在线视频免费| 亚洲 小说区 图片区| 精品久久久久久久久久久久久久久 | 日韩资源在线观看| 亚洲综合电影| 成人国产1314www色视频| 凹凸成人精品亚洲精品密奴| www.国产在线视频| 久久99久久精品| 国产美女免费网站| 亚洲福中文字幕伊人影院| 91超薄丝袜肉丝一区二区| 亚洲精品视频免费在线观看| 呦呦在线视频| 91九色单男在线观看| 欧美裸体在线版观看完整版| 欧美精品自拍视频| 国产精品18久久久久久久久| 蜜桃av免费观看| 在线这里只有精品| 青青青手机在线视频观看| 欧美黑人xxx| 精品国产一区二区三区性色av| 天堂精品视频| 日本麻豆一区二区三区视频| 亚洲国产精品自拍视频| 亚洲一区二区三区四区中文字幕 | 精品亚洲永久免费精品| av片哪里在线观看| 成人两性免费视频| 婷婷亚洲最大| 17c国产在线| 中文字幕亚洲在| 中文在线免费看视频| 一本色道久久综合亚洲精品小说| 久久爱91午夜羞羞| 欧美精品尤物在线| 欧美专区18| 亚洲综合网在线观看| 一本到不卡免费一区二区| 色久视频在线播放| 人人爽久久涩噜噜噜网站| 私拍精品福利视频在线一区| 国产超级av在线| 久久蜜臀中文字幕| 国产suv精品一区二区33| 亚洲网站在线看| 国产成人精品一区二区三区视频| 色视频一区二区三区| 男女性色大片免费观看一区二区 | 成人黄色在线观看| 国产精品精品| 日韩高清在线一区二区| 亚洲一区视频在线| 污视频在线免费| 日本一区二区三区四区视频| 国产一区二区三区天码| 国产又大又黄又粗又爽| 中文字幕中文在线不卡住| 国产黄色片网站| 久久久影视精品| 亚洲自拍都市欧美小说| 乌克兰美女av| 亚洲男人天堂av网| 欧美视频一二区| 日韩av手机在线| 欧美国产一级| 亚洲av无一区二区三区久久| 亚洲高清视频在线| 韩国中文免费在线视频| 成人国产精品一区| 亚洲二区免费| 天天舔天天操天天干| 日韩一区二区三免费高清| sm在线播放| 亚洲精品一区二区三区av| 国产自产2019最新不卡| 日韩成人av毛片| 中文字幕少妇一区二区三区| 久久天堂久久| 欧美牲交a欧美牲交aⅴ免费下载| 中文av一区二区| 成人毛片在线精品国产| 国产成人精品一区二区三区| 亚洲一本二本| av网站有哪些| 欧美福利视频一区| 亚洲欧洲自拍| 日韩亚洲欧美一区二区| 久久蜜桃香蕉精品一区二区三区| 91中文字幕在线视频| 7777精品视频| 91成人国产| 日韩丰满少妇无码内射| 日韩精品中文字幕在线一区| 日韩电影免费观| 亚洲精品蜜桃久久久久久| 国产精品久久久久三级| 亚洲欧美丝袜中文综合| 114国产精品久久免费观看| 久久资源在线|