python-文件操作-os模塊

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章