1. 程式人生 > >python 檔案操作 os模組和shutil模組

python 檔案操作 os模組和shutil模組

############################################################################

python中對檔案 / 資料夾的操作涉及到os模組和shutil模組

import os
import shutil

##################################################################3

得到當前目錄路徑:

os.getcwd()

返回指定目錄path下的所有檔案和目錄名:
os.listdir(path)

刪除一個檔案:

os.remove(path)

判斷給出路徑是否為一個檔案:
os.path.isfile()

判斷給出的路徑是否為一個目錄:
os.path.isdir()

判斷給出的路徑是否是絕對路徑:
os.path.isabs()

判斷給出的路徑是否真實存在:
os.path.exists()
返回False如果是一個錯誤的符號連結

分離給定路徑的目錄名和檔名:

os.path.split(p)


分離副檔名:

os.path.splitext(p)
副檔名可能為空


獲取路徑名:

os.path.dirname(p)

獲取檔名:
os.path.basename(p)


重新命名:

os.rename(old, new)
可以重新命名一個檔案或一個目錄



建立多級目錄:

os.makedirs(path)

建立單個目錄:
os.mkdir(path)

複製檔案:

shutil.copyfile(src, dst)
複製資料從src到dst(src和dst均為檔案)
shutil.copy(src, dst)
複製資料從src到dst(src為檔案,dst可以為目錄)

複製資料夾:

shutil.copytree(src, dst)
遞迴複製資料夾,其中,src和dst均為目錄,且dst不存在

移動目錄(檔案):

shutil.move(src, dst)
遞迴移動一個檔案或目錄到另一個位置,類似於"mv"命令

刪除目錄:

shutil.rmtree(path)

遞迴刪除一個目錄(有內容,空的均可)

程式:重新命名圖片,在原圖片名後加上“_fc”字串

#!/usr/local/env python
#-*- coding: utf-8 -*-

import re
import os
import time

def change_name(path):
	global i #定義全域性變數
	if not os.path.isdir(path) and not os.path.isfile(path): #判斷是否是目錄或檔案
		return False
	if os.path.isfile(path): #如果是檔案
		file_path=os.path.split(path) #分割出目錄與檔名
		lists=file_path[1].split('.') #分割出檔案與副檔名
		file_ext=lists[-1] #取出字尾名
		img_ext=['bmp', 'jpeg', 'gif', 'psd', 'png', 'jpg']
		if file_ext in img_ext:  #判斷該字尾名是否是圖片的字尾名
			os.rename(path, file_path[0]+"/"+lists[0]+"_fc."+file_ext)
			i+=1
	elif os.path.isdir(path): #如果是目錄
		for x in os.listdir(path): #遞迴重新命名程式
			change_name(os.path.join(path,x))

img_dir=os.getcwd()+"/snsc" #取得圖片資料夾路徑
start=time.time() #計時
i=0 #初始化計算器i為0
change_name(img_dir) #開始重新命名程式
c=time.time()-start
print "程式執行耗時:%0.2f"%c
print "總共處理了%d張圖片"%i


相關推薦

python 檔案操作 os模組shutil模組

############################################################################ python中對檔案 / 資料夾的操作涉及到os模組和shutil模組 import os import sh

# 此函式將指定檔案移動到指定目錄(os模組shutil模組

import os import shutil def move_file(src_path, dst_path, file): print 'from : ',src_path print 'to : ',dst_path try:

python檔案資料夾的操作osshutil模組

python檔案和資料夾的操作 我們對檔案和資料夾經常會做一些操作,python 的os和shutil模組,可以實現很多的檔案和目錄的操作。 引入import os。 os可以實現簡單的資料夾和檔案操作。 shutil可以實現複雜的檔案操作,比如對檔案的拷貝和複製。 引入import

Python基礎(18):osshutil模組操作檔案及目錄

OS模組 os模組提供了作業系統的功能介面函式。 常用方法如下: import os os.getcwd() #檢視當前所在路徑 os.listdir('E:\\book') #返回當前目錄下的所有檔案,以列表形式 os.pat

python-檔案操作os模組常用函式

一、檔案操作 1.open(file,op):開啟指定檔案file,若檔案不存在則建立。其中file為檔名,file的路徑預設為程式所在的位置,也可指定file的路徑。   op"模式":                      (1)“r”或無:若省略引數op,則 只讀

Pythonos模組sys模組的區別

首先,官方解釋是這樣的: os: This module provides a portable way of using operating system dependent functionality.     這個模組提供了一種方便的使用作業系統函式的方法。 sy

5-Python-檔案操作、異常、模組

知識點 知識點 --Python-檔案操作、異常、模組 檔案操作 <1>開啟檔案 在python,使用o

python資料庫操作之pymysql模組sqlalchemy模組(專案必備)

pymysql  pymsql是Python中操作MySQL的模組,其使用方法和MySQLdb幾乎相同。 1、下載安裝 pip3 install pymysql 2、操作資料庫 (1)、執行sql #!/usr/bin/env python # -*-

python 檔案操作的相對路徑絕對路徑(windows)

1.相對路徑 windows  '.\'表示當前路徑 with open(r'.\db\123.txt','w',encoding='utf-8') as f: f.write('abc')   2.絕對路徑 2.1 直接加死絕對路徑 with open('c:

利用threading模組queue模組在python3直譯器上建立一個簡單的python執行緒池

python直譯器沒提供執行緒池模組,故在python3上自定義python執行緒池簡單版本,程式碼如下 #用threading queue 做執行緒池 import queueimport threadingclass ThreadPool(): def __init__(self,arg):#建

python2.x shutil模組send2trash模組

shutil模組     shutil(或稱為shell工具)模組中包含一些函式,讓你在python程式中複製、移動、改名和刪除檔案。     要使用shutil的函式,首先需要import shutil     1.複製檔案和資料

Python 多執行緒 threadingmultiprocessing模組

執行緒是一個程序的實體,是由表示程式執行狀態的暫存器(如程式計數器、棧指標)以及堆疊組成,它是比程序更小的單位。 執行緒是程式中的一個執行流。一個執行流是由CPU執行程式程式碼並操作程式的資料所形成的。因此,執行緒被認為是以CPU為主體的行為。 執行緒不包含

Python中requests庫模組lxml模組安裝問題(windows下)

1.requests模組安裝: 第一次匯入requests模組,會報mportError: No module named requests的錯。這就是沒有成功匯入requests模組。 2.lxml模組安裝問題: 1.進入http://www.lfd

Python3.5——內建模組詳解之os模組、sys模組shutil模組

1、os模組:提供對作業系統進行呼叫的介面 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import os print(os.getcwd()) #獲取當前的操作目錄,即當前

python安裝及numpy模組opencv模組的安裝

目錄: 0. 本機環境 本機環境及安裝檔案版本: win10-64位系統 Python 3.6.1 numpy‑1.12.1+mkl‑cp36‑cp36m‑win_amd64.whl opencv_python‑3.2.0‑cp36‑cp36

python time模組datetime模組詳解

一、time模組  time模組中時間表現的格式主要有三種:   a、timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量   b、struct_time時間元組,共有九個元素組。   c、format time 格式化時間,已格

簡單的Python檔案操作(3)檔案的重新命名,刪除對資料夾的操作

(1) 檔案的重新命名,刪除os模組中的rename()可以完成對檔案的重新命名操作rename(需要修改的檔名,新的檔名)import os os.rename("a.txt","b.txt")os模組中的remove()可以完成對檔案的重新命名操作remove(要刪除的檔

python中使用sys模板logging模組獲取行號函式名的方法

def currentframe():     """Return the frame object for the caller's stack frame."""     try:         raise Exception     except:         return sys.exc_in

PYTHON檔案操作列表的使用

本節所講內容:        1)檔案的基本操作        2)列表的基本操作        3)元組的介紹        4)實戰:建立一個購物程式 檔案的基本操作 3.1          開啟檔案 python中使用open函式來開啟檔案(預設函式方式,可以省略

python序列化pickle模組json模組簡單學習

序列化:把變數從記憶體中變成可儲存或傳輸的過程,在Python中叫pickling,在其他語言中也被稱serialization,marshalling,flattening等等 反序列化:把變數內容從序列化的物件重新讀到記憶體裡 pcikel模組實現序列化