os、os.path、shutil操作文件和文件路径的常用方法总结
生活随笔
收集整理的這篇文章主要介紹了
os、os.path、shutil操作文件和文件路径的常用方法总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
os模塊是python標準庫中的一個用于訪問操作系統功能的模塊,下面簡要介紹一下常用的命令
1、os.name(). ? ?判斷現在正在使用的平臺,windows返回’nt’,Linux返回‘posix’2、os.getcwd() ?得到當前工作的目錄
3、os.listdir(). ? 指定所在目錄下民所有的文件和目錄名
4、os.remove(). 刪除指定文件
5、os.rmdir(). ? ?刪除置頂目錄
6、os.mkdir(). ? 創建目錄
7、os.system(). 執行shell命令
8、os.chdir(). ? ?改變目錄到指定目錄
9、os.getenv()與os.putenv() 讀取和設置環境變量
10 、os.linesep 給出當前平臺使用的行終止符, windows使用’\r\n’,linux使用’\n’,而Mac使用’\r’
11、os.rename(old,new) 重命名
12、os.makedirs(r”c:\python\test”) 創建多級目錄
13、os.stat(file) ?獲取文件屬性
14、os.chmod(file) 修改文件權限和時間戳
15、os.exit() ?終止當前進程
文件操作方法大全:
16、os.mknod(“text.txt”) 創建空文件
17、fp = open(“text.txt”,w) 直接打開一個文件,如果文件不存在就創建文件
18、關于open模式
W:以寫方式打開
A:以追加模式打開(從EOF開始,必要時創建新文件)
r+:以讀寫模式打開
w+:以讀寫模式打開
a+: 以讀寫模式打開
rb:以二進制讀模式打開
wb :以二進制寫模式打開
ab:以二進制追加模式打開
rb+:以二進制讀寫模式打開
wb+:以二進制讀寫模式打開
ab+:以二進制讀寫模式打開
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+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾
19、轉換目錄
Os.chdir(“path”). 換路徑
?
os功能介紹:http://www.cnblogs.com/now-fighting/p/3532785.html
?
os.path的相關用法
os.path.abspath(path) #返回絕對路徑os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑。
os.path.dirname(path) #返回文件路徑
os.path.exists(path) ?#路徑存在則返回True,路徑損壞返回False
os.path.lexists ?#路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path) ?#把path中包含的"~"和"~user"轉換成用戶目錄
os.path.expandvars(path) ?#根據環境變量的值替換path中包含的”$name”和”${name}”
os.path.getatime(path) ?#返回最后一次進入此path的時間。
os.path.getmtime(path) ?#返回在此path下最后一次修改的時間。
os.path.getctime(path) ?#返回path的大小
os.path.getsize(path) ?#返回文件大小,如果文件不存在就返回錯誤
os.path.isabs(path) ?#判斷是否為絕對路徑
os.path.isfile(path) ?#判斷路徑是否為文件
os.path.isdir(path) ?#判斷路徑是否為目錄
os.path.islink(path) ?#判斷路徑是否為鏈接
os.path.ismount(path) ?#判斷路徑是否為掛載點()
os.path.join(path1[, path2[, ...]]) ?#把目錄和文件名合成一個路徑
os.path.normcase(path) ?#轉換path的大小寫和斜杠
os.path.normpath(path) ?#規范path字符串形式
os.path.realpath(path) ?#返回path的真實路徑
os.path.relpath(path[, start]) ?#從start開始計算相對路徑
os.path.samefile(path1, path2) ?#判斷目錄或文件是否相同
os.path.sameopenfile(fp1, fp2) ?#判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) ?#判斷stat tuple stat1和stat2是否指向同一個文件
os.path.split(path) ?#把路徑分割成dirname和basename,返回一個元組
os.path.splitdrive(path) ? #一般用在windows下,返回驅動器名和路徑組成的元組
os.path.splitext(path) ?#分割路徑,返回路徑名和文件擴展名的元組
os.path.splitunc(path) ?#把路徑分割為加載點與文件
os.path.walk(path, visit, arg) ?#遍歷path,進入每個目錄都調用visit函數,visit函數必須有
3個參數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有
文件名,args則為walk的第三個參數
os.path.supports_unicode_filenames ?#設置是否支持unicode路徑名
?
shutil的功能介紹
shutil.copyfile(src, dst)從源src復制到dst中去。當然前提是目標地址是具備可寫權限。拋出的異常信息為IOException。如果當前的dst已存在的話就會被覆蓋掉shutil.move(src, dst). 移動文件或重命名
shutil.copymode(src,dst). 只是會復制其權限,其他的東西是不會被復制的
shutil.copystat(src,dst). 復制權限、最后訪問時間、最后修改時間
shutil.copy(src, dst). 復制一個文件到另一個文件或者一個目錄
shutil.copy2(src,dst). 在copy的基礎上再復制文件最后訪問時間與修改時間也復制過來了,類似于cp -p的東西
如果兩個位置的文件系統是一樣的話相當于rename操作,只是改名;如果是不在相同的文件系統的話就是move操作
shutil.copytree(older,newdir,True/False)把olddir拷貝一份newdir,如果第三個參數是True,則復制目錄時將保持文件夾下的符號鏈接,如果第三個參數是False,則將在復制的目錄下生成物理副本來替代符號連接
Shutil.mtree(src). 遞歸刪除一個目錄以及目錄內的所有內容?
總結
以上是生活随笔為你收集整理的os、os.path、shutil操作文件和文件路径的常用方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始,手把手交给你vue如何新建一个
- 下一篇: Python 中操作 MySQL 步骤