import os
# 本文件演示os模塊的基本用法
if __name__ == "__main__":
# 路徑操作類函數
# os.path.join([]):通過字符串列表生成路徑。返回字符串
myPath = os.path.join(r"E:\PyhtonTest\Test") # myPath='E:\PyhtonTest\Test'
myPath = os.path.join(r"E:\PyhtonTest\Test","doc") # myPath='E:\PyhtonTest\Test\doc'
myPath = os.path.join("E:","PyhtonTest","Test", "doc","mydoc") # myPath='E:\PyhtonTest\Test\doc\mydoc'
# 獲取當前路徑。返回字符串
myPath = os.getcwd()
# 將當前路徑修改爲參數指向的位置,目錄必須存在,否則引發FileNotFoundError異常
os.chdir(r'E:\Class')
myPath = os.getcwd() # myPath = 'E:\Class'
# 新建新目錄。目錄已存在則產生FileExistsError異常
try:
os.makedirs(r'E:\PyhtonTest\Test\doc') #將在'E:\PyhtonTest\Test'目錄下新建一個doc目錄
except FileExistsError:
pass
# 將相對路徑path轉換爲絕對路徑。返回字符串
path = r'.'
myPath = os.path.abspath(path) # myPath = 'E:\Class'
# 返回從start路徑起,到path路徑爲止的相對路徑。返回字符串
start=r'e:\TankWar\env'
path=r'E:\PyhtonTest\Test\doc'
myPath = os.path.relpath(path, start) # myPath = '..\..\PyhtonTest\Test\doc'
# 返回path路徑中除最後一級外的其他部分。返回字符串
path = r'E:\PyhtonTest\Test\doc'
myPath = os.path.dirname(path) # myPath = 'E:\PyhtonTest\Test'
# 返回path中最後一級目錄名或文件名。返回字符串
path = r'E:\PyhtonTest\Test\doc'
myPath = os.path.basename(path) # myPath = 'doc'
# 返回由path拆分成的,dirname和basename組成的元組。
path = r'E:\PyhtonTest\Test\doc'
myPath = os.path.split(path) # myPath = ('E:\\PyhtonTest\\Test', 'doc')
myPath = (os.path.dirname(path),os.path.basename(path)) # 效果同上
# os.path.sep屬性能將路徑字符串拆分
list = path.split(os.path.sep) # list = ['E:', 'PyhtonTest', 'Test', 'doc']
# 獲取path所在文件字節數。返回整數
path = r'E:\PyhtonTest\Test\osTest.py'
size = os.path.getsize(path) # size = 2149
# 列出path目錄下所有文件或文件夾名的字符串列表
path = r'E:\PyhtonTest\Test'
list = os.listdir(path) # list = ['.idea', 'doc', 'osTest.py', 'venv']
# 路徑判斷有關函數
# 判斷path是否爲絕對路徑,如果是,返回True,否則返回False
path = r'c:'
os.path.isabs(path) # 打印False
# 判斷當前path路徑是否存在。返回True或False
path = r'E:\PyhtonTest\Test\doc'
os.path.exists(path)
# 判斷當前路徑是否文件。返回True或False
os.path.isfile(path)
# 判斷當前路徑是否文件夾。返回True或False
os.path.isdir(path)
# 文件操作類函數
# 打開文件。以字符串mode爲模式,打開字符串path路徑的文件。返回File對象
path = r'E:\PyhtonTest\Test\test.txt'
mode = "r" # "r":讀模式,只能讀文件,不能寫文件,文件不存在會報異常
# "w":寫模式,文件內的內容被清空,若文件不存在會新建文件
# "a":追加模式,文件內內容不清空,僅在文件尾添加新內容,若文件不存在會新建文件
# "b":二進制模式;與以上模式合用,操作二進制文件。否則操作文本文件
myFile = open(path,mode)
# 讀取文件。從myFile對象指向的文件中讀取n個字符,n不寫時取出文件所有內容。返回字符串
myStr = myFile.read(2) # myStr = 'fd'
myStr = myFile.read() # myStr = 'fdsafdsa\nfdasfsaf'
# 行模式讀取文件。從myFile指向的文件中,以換行符爲分隔符,返回每行文本的字符串列表。
myStr = myFile.readlines() # myStr = ['fdsafdsa\n', 'fdasfsaf']
# 逐行讀取文件。從myFile指向的文件中,以換行符爲分隔符,讀入一行。每執行一次,就讀一行
myStr = myFile.readline() # 讀入第一行
myStr = myFile.readline() # 讀入第二行
# 寫文件。將字符串someStr寫入myFile指向的文件中,原內容被刪除
myFile = open(path,"w")
someStr = "Hello World\nThis is a test file\n" # write函數需要自己加換行符
myFile.write(someStr)
# 關閉文件。關閉myFile指向的文件
myFile.close()
print(list)
print(myStr)
pass
python-文件操作-os模塊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.