python實(shí)現(xiàn)操作文件(文件夾)
本文實(shí)例為大家分享了pyhton操作文件的具體代碼,供大家參考,具體內(nèi)容如下
copy_file
功能:將某個(gè)文件夾下的所有文件(文件夾)復(fù)制到另一個(gè)文件夾
#! python 3
# -*- coding:utf-8 -*-
# Autor: GrayMac
import shutil
import os
basefileclass = 'basefile'
#sourcefile:源文件路徑 fileclass:源文件夾 destinationfile:目標(biāo)文件夾路徑
def copy_file(sourcefile,fileclass,destinationfile):
#遍歷目錄和子目錄
for filenames in os.listdir(sourcefile):
#取得文件或文件名的絕對(duì)路徑
filepath = os.path.join(sourcefile,filenames)
#判斷是否為文件夾
if os.path.isdir(filepath):
if fileclass == basefileclass :
copy_file(filepath,fileclass + '/' + filenames,destinationfile + '/' + filenames)
else :
copy_file(filepath,fileclass,destinationfile + '/' + filenames)
#判斷是否為文件
elif os.path.isfile(filepath):
print('Copy %s'% filepath +' To ' + destinationfile)
#如果無文件夾則重新創(chuàng)建
if not os.path.exists(destinationfile):
os.makedirs(destinationfile)
shutil.copy(filepath,destinationfile)
copy_file(sourcefile,basefileclass,destinationfile)zip_file
功能:將某個(gè)文件夾下面的所有文件(文件夾)壓縮
#! python 3
# -*- coding:utf-8 -*-
# Autor: GrayMac
import zipfile
import os
#dirpath:壓縮源文件路徑 outpath:輸出文件夾路徑 outname:輸出壓縮文件名
basefilepath = 'basefile/'
def zip_file(dirpath,outpath,outname):
print('Start ZIP ' + dirpath + ' To ' + outname)
zip = zipfile.ZipFile(outpath + outname,"w",zipfile.ZIP_DEFLATED)
for path,dirnames,filenames in os.walk(dirpath):
# 去掉目標(biāo)跟路徑,只對(duì)目標(biāo)文件夾下邊的文件及文件夾進(jìn)行壓縮
fpath = path.replace(dirpath,basefilepath)
for filename in filenames:
zip.write(os.path.join(path,filename),os.path.join(fpath,filename))
zip.close()
print('ZIP' + outname + 'successed !')
zip_file(dirpath,outpath,outname)del_file
功能:將某個(gè)文件夾下面的所有文件(文件夾)刪除
#! python 3
# -*- coding:utf-8 -*-
# Autor: GrayMac
import shutil
import os
#path_data 刪除文件夾路徑
#os.listdir(path_data) 返回一個(gè)列表,里面是當(dāng)前目錄下面的所有東西的相對(duì)路徑
#os.path.isfile(file_data) 判斷是否為文件
#os.remove(file_data) 刪除文件
#shutil.rmtree(file_data) 刪除文件夾(非空)
def del_file(path_data):
print('Start Delete : ' + path_data)
for filenames in os.listdir(path_data) :
file_data = path_data + "\\" + filenames#當(dāng)前文件夾的下面的所有東西的絕對(duì)路徑
if os.path.isfile(file_data) :
os.remove(file_data)
else:
shutil.rmtree(file_data)
print('Delete successed !')以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python的scrapy框架之Pipeline文件的用法詳解
這篇文章主要介紹了python的scrapy框架之Pipeline文件的用法詳解,Pipeline是一個(gè)獨(dú)立的模塊,用于處理從Spider中提取的Item對(duì)象,實(shí)現(xiàn)對(duì)數(shù)據(jù)的進(jìn)一步處理、存儲(chǔ)和清洗等操作,下面將詳細(xì)介紹Scrapy框架中Pipeline的用法,需要的朋友可以參考下2023-10-10
一個(gè)計(jì)算身份證號(hào)碼校驗(yàn)位的Python小程序
閑著無事,便想寫個(gè)實(shí)用點(diǎn)的Python小程序,如何計(jì)算機(jī)身份證號(hào)碼的校驗(yàn)位,這樣的文章在網(wǎng)上一抓一大把,這里僅簡(jiǎn)單介紹下吧2014-08-08
Python return語句如何實(shí)現(xiàn)結(jié)果返回調(diào)用
這篇文章主要介紹了Python return語句如何實(shí)現(xiàn)結(jié)果返回調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Python基礎(chǔ)Lists和tuple實(shí)例詳解
這篇文章主要為大家介紹了Python基礎(chǔ)Lists和tuple實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
python3?chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn)
本文主要介紹了python3?chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
異步任務(wù)隊(duì)列Celery在Django中的使用方法
對(duì)于網(wǎng)站來說,給用戶一個(gè)較好的體驗(yàn)是很重要的事情,其中最重要的指標(biāo)就是網(wǎng)站的瀏覽速度。因此服務(wù)端要從各個(gè)方面對(duì)網(wǎng)站性能進(jìn)行優(yōu)化,這篇文章主要介紹了異步任務(wù)隊(duì)列Celery在Django中的使用方法,感興趣的小伙伴們可以參考一下2018-06-06

