os模組提供了大量的檔案和目錄操作方法函式。
import os
import sys
reload(sys)
print "系統預設編碼方式:",sys.getdefaultencoding()
sys.setdefaultencoding('utf8')
print "設定後系統的編碼方式:",sys.getdefaultencoding()
發現有個系統編碼,win7和win10都是使用的是gbk編碼,查詢編碼方式,在windows平台下,進入dos視窗,輸入:chcp
936對應的編碼格式為gbk。或者使用進入dos視窗,在標題欄右鍵/屬性,顯示當前**頁為936--簡體中文gbk
那如何獲取當前檔案的編碼格式呢,使用chardet庫中的detect()函式
import os
import sys
import chardet
print "系統預設編碼方式:",sys.getdefaultencoding()
發現使用的是gb2312編碼方式,所以對於中文亂碼,就可以應當對每乙個檔案路徑做編碼轉換 很簡單 就是先按照 gb2312 decode 然後再按照 utf-8 encode即可。
import os
#獲取絕對路徑
print(os.path.abspath('coutry.txt').decode('gbk').encode('utf-8'))
獲取絕對路徑的方法還有乙個os.path._getfullpathname()函式
print(os.path._getfullpathname('coutry.txt'))
那如何獲取當前檔案所在的目錄呢?看以下例項
import os
#獲取絕對路徑
print(os.path.abspath('coutry.txt').decode('gbk').encode('utf-8'))
#獲取目錄
print(os.path.dirname('coutry.txt'))
print(os.path.dirname('g:\資料\自動化測試\exercise\xml\coutry.txt'))
abspath 可以列印出絕對路徑(包含檔名):g:\資料\自動化測試\exercise\xml\coutry.txt
dirname()如果只是給出檔案的絕對路徑,才能返回出具體的路徑值,如果引數為檔名,則返回為空
os.path.dirname(os.path.dirname)獲得檔案的目錄
那這樣獲取檔案目錄就有點麻煩,可以使用os模組中getcwd()獲取當前檔案目錄
有篇不錯的介紹推薦一下,見介紹
python os介紹 Python os模組介紹
os模組主要用於執行系統命令 import os os.remname file.txt file1.txt 檔案重新命名 os.remove file1.txt 刪除檔案 os.mkdir test 建立資料夾 os.rmdir test 刪除資料夾 os.sep 可以取代作業系統特定的路徑分割符...
Python OS模組 介紹
python的標準庫中的os模組包含普遍的作業系統功能。這個模組是尤為重要的。它允許乙個程式在編寫後不需要任何改動,也不會發生任何問題,就可以在linux和windows下執行。下面列出了一些在os模組中比較有用的部分。它們中的大多數都簡單明瞭。os.sep可以取代作業系統特定的路徑分隔符。wind...
Python os模組介紹
os模組 我們平時工作中很常用到的乙個模組,通過os模組呼叫系統命令,獲得路徑,獲取作業系統的型別等都是使用該模組。os 模組提供了很多允許你的程式與作業系統直接互動的功能 得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.list...