最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python如何一次性搞定文件讀寫處理難題

 更新時間:2025年05月28日 09:26:06   作者:軟件測試雜談  
每個程序員都離不開文件處理,無論是讀取配置文件、處理Excel表格,還是保存程序運行日志,本文就來使用最通俗的語言,帶你徹底掌握Python文件處理吧

為什么要學(xué)習文件處理?

每個程序員都離不開文件處理。無論是讀取配置文件、處理Excel表格,還是保存程序運行日志,文件操作都是必備技能。但是很多教程要么太淺顯,要么太復(fù)雜,今天我就用最通俗的語言,帶你徹底掌握Python文件處理!

基礎(chǔ)操作:文件讀寫入門

先從最基礎(chǔ)的開始。假設(shè)你有一個叫notes.txt的文本文件,想要讀取它的內(nèi)容:

# 最簡單的文件讀取
with open('notes.txt', 'r', encoding='utf-8') as f:
    content = f.read()
print(content)

這里有個小技巧:一定要加上encoding='utf-8',不然中文就會變成亂碼,這可是我踩過的坑?。?/p>

寫入文件也很簡單:

# 寫入文本文件
with open('output.txt', 'w', encoding='utf-8') as f:
    f.write('這是第一行\(zhòng)n')
    f.write('這是第二行\(zhòng)n')

進階技巧:批量文件處理

但是實際工作中,我們經(jīng)常需要處理多個文件。來看看這個實用的例子,批量重命名文件:

import os

def batch_rename(folder_path, old_str, new_str):
    """批量重命名文件,將文件名中的old_str替換為new_str"""
    count = 0
    for filename in os.listdir(folder_path):
        if old_str in filename:
            old_file = os.path.join(folder_path, filename)
            new_file = os.path.join(folder_path, filename.replace(old_str, new_str))
            os.rename(old_file, new_file)
            count += 1
    return count

# 使用示例
folder = '測試文件夾'
renamed = batch_rename(folder, 'old', 'new')
print(f'成功重命名了{renamed}個文件')

高級應(yīng)用:文件監(jiān)控器

這個才是真正的干貨!來看看如何寫一個文件變化監(jiān)控器,可以實時監(jiān)控文件夾的變化:

# 導(dǎo)入所需模塊
import time
from watchdog.observers import Observer  # 用于監(jiān)控文件系統(tǒng)事件
from watchdog.events import FileSystemEventHandler  # 文件系統(tǒng)事件處理器基類

class MyHandler(FileSystemEventHandler):
   def on_modified(self, event):
       """當監(jiān)控的文件發(fā)生修改時觸發(fā)"""
       if not event.is_directory:  # 僅處理文件變化,忽略目錄
           print(f'文件發(fā)生變化:{event.src_path}')
           
   def on_created(self, event):
       """當有新文件創(chuàng)建時觸發(fā)"""
       if not event.is_directory:  # 僅處理文件創(chuàng)建,忽略目錄
           print(f'新建文件:{event.src_path}')

def monitor_folder(path):
   """
   監(jiān)控指定文件夾的變化
   參數(shù):
       path: 要監(jiān)控的文件夾路徑
   """
   event_handler = MyHandler()  # 創(chuàng)建事件處理器實例
   observer = Observer()  # 創(chuàng)建觀察者實例
   observer.schedule(event_handler, path, recursive=False)  # 設(shè)置監(jiān)控的路徑(不遞歸子目錄)
   observer.start()  # 啟動監(jiān)控
   
   try:
       while True:
           time.sleep(1)  # 每秒檢查一次
   except KeyboardInterrupt:  # 捕獲Ctrl+C中斷信號
       observer.stop()  # 停止監(jiān)控
   observer.join()  # 等待observer完全停止

# 程序入口
if __name__ == '__main__':
   monitor_folder('要監(jiān)控的文件夾路徑')  # 傳入要監(jiān)控的文件夾路徑

這個程序可以實時監(jiān)控文件夾中的變化,比如新建文件、修改文件等。對于需要監(jiān)控日志文件或者配置文件的場景特別有用!

實戰(zhàn)小貼士

  • 處理大文件時,用read()一次性讀取可能會占用太多內(nèi)存,建議使用for line in f:逐行讀取
  • 寫文件時記得及時關(guān)閉,最好使用with語句自動處理
  • 路徑操作推薦使用os.path模塊,這樣能保證代碼在不同操作系統(tǒng)上都能正常運行

常見問題解答

問:為什么我的文件路徑總是報錯?答:Windows系統(tǒng)中,路徑分隔符是反斜杠``,但在Python字符串中需要寫成\,或者直接用正斜杠/,Python會自動處理。

問:如何判斷文件是否存在?答:可以使用os.path.exists()函數(shù):

import os
if os.path.exists('文件路徑'):
    print('文件存在')
else:
    print('文件不存在')

文件處理是Python中非常重要的一個技能點。掌握了這些內(nèi)容,基本上日常工作中遇到的文件處理需求都能搞定了。

到此這篇關(guān)于Python如何一次性搞定文件讀寫處理難題的文章就介紹到這了,更多相關(guān)Python文件處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python中ping命令的深層原理

    詳解Python中ping命令的深層原理

    Ping命令是網(wǎng)絡(luò)管理員和普通用戶最常用的網(wǎng)絡(luò)工具之一,可以測試網(wǎng)絡(luò)連接是否正常,本文主要來和大家探討Ping命令的工作原理和用法,需要的可以參考一下
    2023-06-06
  • 基于Python編寫一個語音合成系統(tǒng)

    基于Python編寫一個語音合成系統(tǒng)

    這篇文章主要介紹了如何利用Python制作一個語音合成系統(tǒng),文中的示例代碼講解詳細,對我們學(xué)習Python有一定的幫助,感興趣的小伙伴可以了解一下
    2022-03-03
  • Django csrf校驗的實現(xiàn)

    Django csrf校驗的實現(xiàn)

    這篇文章主要介紹了Django csrf校驗的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-05-05
  • Python3實現(xiàn)的簡單工資管理系統(tǒng)示例

    Python3實現(xiàn)的簡單工資管理系統(tǒng)示例

    這篇文章主要介紹了Python3實現(xiàn)的簡單工資管理系統(tǒng),涉及Python文件讀寫、數(shù)據(jù)遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • Python切片操作去除字符串首尾的空格

    Python切片操作去除字符串首尾的空格

    這篇文章主要介紹了Python切片操作去除字符串首尾的空格 的相關(guān)資料,需要的朋友可以參考下
    2019-04-04
  • ubuntu安裝sublime3并配置python3環(huán)境的方法

    ubuntu安裝sublime3并配置python3環(huán)境的方法

    這篇文章主要介紹了ubuntu安裝sublime3并配置python3環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • python中引用與復(fù)制用法實例分析

    python中引用與復(fù)制用法實例分析

    這篇文章主要介紹了python中引用與復(fù)制用法,以實例形式詳細分析了python中引用與復(fù)制的功能與相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 淺談Python3.10 和 Python3.9 之間的差異

    淺談Python3.10 和 Python3.9 之間的差異

    多年來,Python 進行了大量升級,并且在新版本中添加了許多功能。本文就詳細的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下
    2021-09-09
  • 使用Python matplotlib作圖時,設(shè)置橫縱坐標軸數(shù)值以百分比(%)顯示

    使用Python matplotlib作圖時,設(shè)置橫縱坐標軸數(shù)值以百分比(%)顯示

    這篇文章主要介紹了使用Python matplotlib作圖時,設(shè)置橫縱坐標軸數(shù)值以百分比(%)顯示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 手把手教你用Django執(zhí)行原生SQL的方法

    手把手教你用Django執(zhí)行原生SQL的方法

    這篇文章主要介紹了手把手教你用Django執(zhí)行原生SQL的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-02-02

最新評論

洛隆县| 自治县| 巴里| 夹江县| 武平县| 巴林左旗| 太仓市| 东乡县| 恭城| 宝山区| 蕲春县| 靖江市| 龙南县| 克拉玛依市| 竹溪县| 清镇市| 深泽县| 马山县| 肃北| 寿阳县| 合川市| 丽水市| 大理市| 田阳县| 华池县| 萨迦县| 科尔| 宜良县| 平远县| 丰县| 大港区| 逊克县| 和龙市| 仪征市| 洛浦县| 北流市| 隆回县| 资源县| 梧州市| 镇远县| 古蔺县|