1. 程式人生 > >Python檔案操作及資料夾遍歷

Python檔案操作及資料夾遍歷

os.getcwd() 得到當前工作目錄,即當前Python指令碼工作的目錄路徑
os.listdir() 返回指定目錄下的所有檔案和目錄名
os.remove() 函式用來刪除一個檔案
os.removedirs(r“c:\python”)刪除多個目錄
os.path.isfile() 檢驗給出的路徑是否是一個檔案
os.path.isdir() 檢驗給出的路徑是否是一個目錄
os.path.isabs() 判斷是否是絕對路徑
os.path.exists() 檢驗給出的路徑是否真地存
os.path.split() 返回一個路徑的目錄名和檔名
eg: os.path.split(‘/home/swaroop/byte/code/poem.txt’)
結果:(‘/home/swaroop/byte/code’, ‘poem.txt’)
os.path.splitext() 分離副檔名
os.path.dirname() 獲取路徑名
os.path.basename() 獲取檔名
os.system() 執行shell命令
os.getenv() 與os.putenv()讀取和設定環境變數
os.linesep Windows使用’\r\n’,
Linux使用’\n’而Mac使用’\r’ 給出當前平臺使用的行終止符
os.name 對於Windows,它是’nt’,而對於Linux/Unix使用者,
它是’posix’指示你正在使用的平臺
os.rename(old, new)重新命名
os.makedirs(r“c:\python\test”)建立多級目錄
os.mkdir(“test”) 建立單個目錄
os.stat(file) 獲取檔案屬性
os.chmod(file) 修改檔案許可權與時間戳
os.exit() 終止當前程序
os.path.getsize(filename)獲取檔案大小

檔案操作:
os.mknod(“test.txt”) 建立空檔案
fp = open(“test.txt”,w) 直接開啟一個檔案,如果檔案不存在則建立檔案

關於open 模式:

w 以寫方式開啟,
a 以追加模式開啟 (從 EOF 開始, 必要時建立新檔案)
r+ 以讀寫模式開啟
w+ 以讀寫模式開啟 (參見 w )
a+ 以讀寫模式開啟 (參見 a )
rb 以二進位制讀模式開啟
wb 以二進位制寫模式開啟 (參見 w )
ab 以二進位制追加模式開啟 (參見 a )
rb+ 以二進位制讀寫模式開啟 (參見 r+ )
wb+ 以二進位制讀寫模式開啟 (參見 w+ )
ab+ 以二進位制讀寫模式開啟 (參見 a+ )

fp.read([size]) #size為讀取的長度,以byte為單位

fp.readline([size]) #讀一行,如果定義了size,有可能返回的只是一行的一部分

fp.readlines([size]) #把檔案每一行作為一個list的一個成員,並返回這個list。其實它的內部是通過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能只讀到檔案的一部分。

fp.write(str) #把str寫到檔案中,write()並不會在str後加上一個換行符

fp.writelines(seq) #把seq的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實地寫入,不會在每行後面加上任何東西。

fp.close() #關閉檔案。python會在一個檔案不用後自動關閉檔案,不過這一功能沒有保證,最好還是養成自己關閉的習慣。 如果一個檔案在關閉後還對其進行操作會產生ValueError

fp.flush() #把緩衝區的內容寫入硬碟

fp.fileno() #返回一個長整型的”檔案標籤“

fp.isatty() #檔案是否是一個終端裝置檔案(unix系統中的)

fp.tell() #返回檔案操作標記的當前位置,以檔案的開頭為原點

fp.next() #返回下一行,並將檔案操作標記位移到下一行。把一個file用於for … in file這樣的語句時,就是呼叫next()函式來實現遍歷的。

fp.seek(offset[,whence]) #將檔案打操作標記移到offset的位置。這個offset一般是相對於檔案的開頭來計算的,一般為正數。但如果提供了whence引數就不一定了,whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以檔案末尾為原點進行計算。需要注意,如果檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。

fp.truncate([size]) #把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。如果size比檔案的大小還要大,依據系統的不同可能是不改變檔案,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。

目錄操作:
os.mkdir(“file”) 建立目錄
複製檔案:
shutil.copyfile(“oldfile”,”newfile”) oldfile和newfile都只能是檔案
shutil.copy(“oldfile”,”newfile”) oldfile只能是資料夾,newfile可以是檔案,也可以是目標目錄
複製資料夾:
shutil.copytree(“olddir”,”newdir”) olddir和newdir都只能是目錄,且newdir必須不存在
重新命名檔案(目錄)
os.rename(“oldname”,”newname”) 檔案或目錄都是使用這條命令
移動檔案(目錄)
shutil.move(“oldpos”,”newpos”)
刪除檔案
os.remove(“file”)
刪除目錄
os.rmdir(“dir”)只能刪除空目錄
shutil.rmtree(“dir”) 空目錄、有內容的目錄都可以刪
轉換目錄
os.chdir(“path”) 換路徑

# os.walk遍歷資料夾檔案
def readFiles(rootDir):
    if not os.path.exists(rootDir):
        return;

    filePaths=[];

    for (dirpath, dirnames, filenames) in os.walk(rootDir):
        # print(dirpath,filenames)
        for filename in filenames:
            # print(os.path.join(dirpath, filename));
            filePaths.append(os.path.join(dirpath, filename))

    return filePaths;

相關推薦

Python檔案操作資料

os.getcwd() 得到當前工作目錄,即當前Python指令碼工作的目錄路徑 os.listdir() 返回指定目錄下的所有檔案和目錄名 os.remove() 函式用來刪除一個檔案 os.removedirs(r“c:\python”)刪除多個目錄

python資料,檔案操作,獲取檔案修改建立時間

在Python中,檔案操作主要來自os模組,主要方法如下: os.listdir(dirname):列出dirname下的目錄和檔案 os.getcwd():獲得當前工作目錄 os.curdir:返回當前目錄('.') os.chdir(dirname):改變工作目錄到

關於os模組中的資料檔案操作檔案的建立和修改時間的用法

在Python中,檔案操作主要來自os模組,主要方法如下:os.listdir(dirname):列出dirname下的目錄和檔案os.getcwd():獲得當前工作目錄os.curdir:返回當前目錄('.')os.chdir(dirname):改變工作目錄到dirname

Python 資料檔案查詢

# -*- coding: utf-8 -*- #to find where use the table on xxxxx xxxxxx production env ''' 在專案中我們元資料管理的不是很好,如果先知道一張表在哪裡用過,就需要寫個程式去遍歷下 '''

多維列表排序、資料python列表字典csv讀取

多維列表排序:先根據第一列排序,然而第二列,然後第三列 import operator alist=[[],[],[],[]] alist.sort(key=operator.itemgette

linux資料字串處理等基礎功能函式

/************************************************************************* > File Name: filenameio.h > Author: lcmf > Mail: [e

vue 五星評分資料

div class="star" style="float: right" > <span v-for="(itemClass,index) in y.itemClasses" :class="itemClass" data="1" class="star-item" :trac

非遞迴實現資料

之前有個電話面試,其中一道題就是:用非遞迴的方式實現資料夾遍歷?在電面的時候沒有答出來,過後分分鐘就想到了答案,因為之前自己實現過按層序的方式列印一棵樹,用的也是非遞迴的方式,現在遍歷資料夾不就是遍歷這顆樹嗎!怎麼就沒想出來呢!在這裡簡單的記錄下,用了C#和C++兩個版本實現。 我這裡的實現的功能是:用非遞

資料函式enumeratorAtURL的使用小結

我們獲取資料夾的所有檔案時,有時需要過濾掉隱藏檔案等等操作那麼函式:enumeratorAtURL無疑是一個很好用的函式其裡面的兩個引數,includingPropertiesForKeys 和 options 可以很好的幫助我們進行很好的設定includingPropert

ThinkPHP自動化為已經上傳的圖片新增「 響應式」水印(資料部分)

TPImageWater 我在之前寫過一個controller樣式的擴充套件,主要是迴圈遍歷以前上傳的照片,加上水印。 應用的時候遇到了多個問題,因此對Controller進行了改造完善,並且提出了根據資料夾遍歷和資料庫記錄兩種形式的遍歷加水印。 【響應

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

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

CSharp 檔案操作檢視資料資料資訊

通過Fileinfo 用相對路徑下建立 Txt FileInfo fileinf = new FileInfo("Siki.txt"); if (fileinf.Exists==false) //判斷該檔案是否存在 {

Python檔案資料操作

轉載自:http://www.cnblogs.com/feeland/         我們經常會與檔案和目錄打交道,對於這些操作,python可以使用 os 及 shutill 模組,其中包含了很多操作檔案和目錄的函式。     os 可以執行簡單的資料夾及檔案操作,引入用 &n

[Xcode10 實際操作]七、檔案資料-(4 )資料中的檔案

本文將演示如何遍歷資料夾下的內容。 在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override f

python使用os.walk和os.path.join來資料檔案(包括子資料下的檔案)

使用os.walk和os.path.join來遍歷資料夾的檔案 import os import os.path path = 'C://' for root, dirs, files in os.walk(path):    for file in files:  

linux 檔案資料操作總結

文章目錄 檔案基本操作 檢視 複製刪除移動 建立 其他 許可權(包括資料夾) 檢視許可權 許可權含義 修改許可權 修改許可權(數字)

Ubuntu 16.04 檔案資料基礎操作

檢視檔案:cat 路徑名 進入資料夾操作: 當前位置             cd  . 上一級檔案位置  cd .. 返回上一步操作  cd - 進入Home檔案   cd

python執行scp命令拷貝檔案資料到遠端主機的目錄

系統環境centos7 python2.7 先在作業系統安裝expect [[email protected] python]# vi 3s.py #!/usr/bin/python #coding:utf-8 import sys,re import os import

python高階程式設計】一、資料目錄

前言 如何遍歷查找出某個資料夾內所有的子檔案呢?並且找出某個字尾的所有檔案 walk功能簡介 1.os.walk() 方法用於通過在目錄樹種遊走輸出在目錄中的檔名,向上或者向下。 2.walk()方法語法格式如下: os.walk(top,topdown=True,onerr

Linux基礎02:磁碟操作檔案許可權、檔案資料操作、網路服務

1.Linux磁碟與U盤操作 1.1 顯示系統的磁碟空間用量 ##du命令也是檢視使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的檢視 du -sh ##查目錄使用大小(-s表示總結) ## du -sh /bin ##df命令用於顯示磁碟分割槽