利用Python把文件移動(dòng)到另一個(gè)文件夾的方法
在Python中,文件移動(dòng)可通過shutil.move()函數(shù)實(shí)現(xiàn)。以下是完整操作指南:
基礎(chǔ)移動(dòng)(單個(gè)文件)
import shutil import os # 定義源文件和目標(biāo)路徑 source_file = '/path/source.txt' target_folder = '/path/target_folder/' # 確保目標(biāo)目錄存在 os.makedirs(target_folder, exist_ok=True) # 執(zhí)行移動(dòng) shutil.move(source_file, target_folder)
批量移動(dòng)(帶文件類型過濾)
import os
import shutil
import glob
source_dir = '/path/source_folder'
target_dir = '/path/target_folder'
os.makedirs(target_dir, exist_ok=True)
# 移動(dòng)所有.ts文件
for ts_file in glob.glob(os.path.join(source_dir, '*.ts')):
shutil.move(ts_file, target_dir)
關(guān)鍵特性說明
- 自動(dòng)覆蓋:目標(biāo)目錄存在同名文件時(shí)自動(dòng)覆蓋
- 目錄創(chuàng)建:
os.makedirs(..., exist_ok=True)自動(dòng)創(chuàng)建目標(biāo)目錄 - 跨設(shè)備支持:支持不同磁盤分區(qū)間的文件移動(dòng)
- 錯(cuò)誤處理:建議添加try-except捕獲
FileNotFoundError等異常
高級(jí)技巧
保留目錄結(jié)構(gòu)移動(dòng)
import os
import shutil
source = '/data/source'
target = '/data/target'
for root, dirs, files in os.walk(source):
for file in files:
src_path = os.path.join(root, file)
rel_path = os.path.relpath(src_path, source)
target_path = os.path.join(target, rel_path)
os.makedirs(os.path.dirname(target_path), exist_ok=True)
shutil.move(src_path, target_path)
移動(dòng)并重命名
shutil.move('/source/file.txt', '/target/renamed_file.txt')
注意事項(xiàng)
- 移動(dòng)系統(tǒng)文件時(shí)需管理員權(quán)限
- 移動(dòng)過程中文件被占用會(huì)導(dǎo)致操作失敗
- 跨文件系統(tǒng)移動(dòng)實(shí)質(zhì)是復(fù)制+刪除
- 建議先測(cè)試
shutil.copy2()保留元數(shù)據(jù)
到此這篇關(guān)于利用Python把文件移動(dòng)到另一個(gè)文件夾的方法的文章就介紹到這了,更多相關(guān)Python文件移動(dòng)到另一個(gè)文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python自動(dòng)化實(shí)戰(zhàn)之接口請(qǐng)求的實(shí)現(xiàn)
本文為大家重點(diǎn)介紹如何通過 python 編碼來實(shí)現(xiàn)我們的接口測(cè)試以及通過Pycharm的實(shí)際應(yīng)用編寫一個(gè)簡(jiǎn)單接口測(cè)試,感興趣的可以了解一下2022-05-05
python自動(dòng)發(fā)郵件庫yagmail的示例代碼
本篇文章主要介紹了python自動(dòng)發(fā)郵件庫yagmail的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
Django中如何使用celery異步發(fā)送短信驗(yàn)證碼詳解
Celery是Python開發(fā)的分布式任務(wù)調(diào)度模塊,這篇文章主要給大家介紹了關(guān)于Django中如何使用celery異步發(fā)送短信驗(yàn)證碼的相關(guān)資料,主要內(nèi)容包括基礎(chǔ)介紹、工作原理、完整代碼等方面,需要的朋友可以參考下2021-09-09
python中not not x 與bool(x) 的區(qū)別
這篇文章主要介紹了python中not not x 與 bool(x) 的區(qū)別,我們就來做一個(gè)選擇,就是 not not x 和 bool(x) 用哪個(gè)比較好?下面一起進(jìn)入文章看看吧2021-12-12
django中使用POST方法獲取POST數(shù)據(jù)
這篇文章主要介紹了django中使用POST方法獲取POST數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python 如何利用pandas和matplotlib繪制餅圖
這篇文章主要介紹了Python 如何利用pandas和matplotlib繪制餅圖,代碼使用了Pandas和Matplotlib庫來繪制店鋪銷售數(shù)量占比的餅圖,需要的朋友可以參考下2023-10-10

