Python常見檔案操作的函數

來源:互聯網
上載者:User

# -*-coding:utf8 -*- 
''' 
Python常見檔案操作樣本 
os.path 模組中的路徑名訪問函數 
分隔 
basename() 去掉目錄路徑, 返迴文件名 
dirname() 去掉檔案名稱, 返回目錄路徑 
join() 將分離的各部分組合成一個路徑名 
split() 返回 (dirname(), basename()) 元組 
splitdrive() 返回 (drivename, pathname) 元組 
splitext() 返回 (filename, extension) 元組 
資訊 
getatime() 返回最近訪問時間 
getctime() 返迴文件建立時間 
getmtime() 返回最近檔案修改時間 
getsize() 返迴文件大小(以位元組為單位) 
查詢 
exists() 指定路徑(檔案或目錄)是否存在 
isabs() 指定路徑是否為絕對路徑 
isdir() 指定路徑是否存在且為一個目錄 
isfile() 指定路徑是否存在且為一個檔案 
islink() 指定路徑是否存在且為一個符號連結 
ismount() 指定路徑是否存在且為一個掛載點 
samefile() 兩個路徑名是否指向同個檔案 
os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false 
os.path.isfile(name):判斷name是不是一個檔案,不存在name也返回false 
os.path.exists(name):判斷是否存在檔案或目錄name 
os.path.getsize(name):獲得檔案大小,如果name是目錄返回0L 
os.path.abspath(name):獲得絕對路徑 
os.path.normpath(path):規範path字串形式 
os.path.split(name):分割檔案名稱與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為檔案名稱而分離,同時它不會判斷檔案或目錄是否存在) 
os.path.splitext():分離檔案名稱與副檔名 
os.path.join(path,name):串連目錄與檔案名稱或目錄 
os.path.basename(path):返迴文件名 
os.path.dirname(path):返迴文件路徑 

os模組中的檔案操作: 
os 模組屬性 
linesep 用於在檔案中分隔行的字串 
sep 用來分隔檔案路徑名的字串 
pathsep 用於分隔檔案路徑的字串 
curdir 當前工作目錄的字串名稱 
pardir (當前工作目錄的)父目錄字元串名稱 
1.重新命名:os.rename(old, new) 
2.刪除:os.remove(file) 
3.列出目錄下的檔案:os.listdir(path) 
4.擷取當前工作目錄:os.getcwd() 
5.改變工作目錄:os.chdir(newdir) 
6.建立多級目錄:os.makedirs(r"c:\python\test") 
7.建立單個目錄:os.mkdir("test") 
8.刪除多個目錄:os.removedirs(r"c:\python") #刪除所給路徑最後一個目錄下所有空目錄。 
9.刪除單個目錄:os.rmdir("test") 
10.擷取檔案屬性:os.stat(file) 
11.修改檔案許可權與時間戳記:os.chmod(file) 
12.執行作業系統命令:os.system("dir") 
13.啟動新進程:os.exec(), os.execvp() 
14.在後台執行程式:osspawnv() 
15.終止當前進程:os.exit(), os._exit() 
16.分離檔案名稱:os.path.split(r"c:\python\hello.py") --> ("c:\\python", "hello.py") 
17.分離副檔名:os.path.splitext(r"c:\python\hello.py") --> ("c:\\python\\hello", ".py") 
18.擷取路徑名:os.path.dirname(r"c:\python\hello.py") --> "c:\\python" 
19.擷取檔案名稱:os.path.basename(r"r:\python\hello.py") --> "hello.py" 
20.判斷檔案是否存在:os.path.exists(r"c:\python\hello.py") --> True 
21.判斷是否是絕對路徑:os.path.isabs(r".\python\") --> False 
22.判斷是否是目錄:os.path.isdir(r"c:\python") --> True 
23.判斷是否是檔案:os.path.isfile(r"c:\python\hello.py") --> True 
24.判斷是否是連結檔案:os.path.islink(r"c:\python\hello.py") --> False 
25.擷取檔案大小:os.path.getsize(filename) 
26.*******:os.ismount("c:\\") --> True 
27.搜尋目錄下的所有檔案:os.path.walk() 
shutil模組對檔案的操作: 
1.複製單個檔案:shultil.copy(oldfile, newfle) 
2.複製整個分類樹:shultil.copytree(r".\setup", r".\backup") 
3.刪除整個分類樹:shultil.rmtree(r".\backup") 
臨時檔案的操作: 
1.建立一個唯一的臨時檔案:tempfile.mktemp() --> filename 
2.開啟臨時檔案:tempfile.TemporaryFile() 
記憶體檔案(StringIO和cStringIO)操作 
[4.StringIO] #cStringIO是StringIO模組的快速實現模組 
1.建立記憶體檔案並寫入初始資料:f = StringIO.StringIO("Hello world!") 
2.讀入記憶體檔案資料:print f.read() #或print f.getvalue() --> Hello world! 
3.想記憶體檔案寫入資料:f.write("Good day!") 
4.關閉記憶體檔案:f.close() 
''' 
import os 
import os.path 
import unittest 
import time 
#import pygame 
class PyFileCommonOperatorTest(unittest.TestCase): 
def __init__(self): 
"""constructor""" 
def test01(self): 
print os.linesep 
print os.sep 
print os.pathsep 
print os.curdir 
print os.pardir 
print os.getcwd() 
print 'unittest here' 

if __name__ == "__main__": 
t = PyFileCommonOperatorTest() 

t.test01() 

#讀檔案的寫法: 
#讀文字檔: 
input = open('data', 'r')#第二個參數是預設的,可以不加 
#讀二進位檔案: 
input = open('data', 'rb') 
#讀取所有檔案內容: 
open('xxoo.txt').read() 
#讀取固定位元組 
open('abinfile', 'rb').read(100) 
#讀每行 
file_object.readlines() 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.