天天看點

python 的os 子產品常用函數示例和注釋

# -*- coding#utf-8 -*-

import os
import shutil

# os子產品的常有操作
def demo():

    os.mkdir(r'F:\test\test')  #預設會在目前目錄下建立目錄
    os.rmdir(r'F:\test\test')  #  隻能删除空目錄
    os.makedirs(r'F:\test\mulitiple\levels') #建立多級目錄
    shutil.rmtree(r'F:\test') #空目錄、有内容的目錄都可以删
    os.mknod(r"F:\demo\test123") # 建立一個空檔案 在linux 運作的
    open(r"F:\demo\a.txt",'w')  # 建立一個檔案
    paths = os.listdir(r'F:\demo') #傳回指定目錄下的所有檔案和目錄名
    print(paths)
    os.remove(r'F:\demo\a.txt')# 删除一個檔案
    print(os.system("netstat -ano"))#運作shell指令

    os.rename("oldname", "newname") #重命名檔案(目錄).檔案或目錄都是使用這條指令


# os.path()
def demo2():
    dir_path = r'F:\test\mulitiple'
    file_path = r'F:\test\mulitiple\a.txt'
    print(os.path.abspath(r'.')) #傳回目前目錄的絕對路徑
    print(os.path.abspath(r".."))  # 上級目錄的絕對路徑
    print(os.path.basename(r'F:\test\mulitiple\a.txt')) # 傳回檔案名 輸出a.txt
    print(os.path.isfile(r'F:\test\mulitiple\a.txt')) # 是檔案輸出True
    print(os.path.isdir(r'F:\test\mulitiple')) # 是目錄輸出True
    print(os.path.isabs(dir_path))#判斷是否為絕對路徑
    print(os.path.split(dir_path)) #分割檔案名與目錄(事實上,如果你完全使用目錄,它也會将最後一個目錄作為檔案名而分離,同時它不會判斷檔案或目錄是否存在)
    print(os.path.splitext(file_path)) #分離檔案名和擴充名
    print(os.path.join(dir_path, 'a.txt')) #連接配接目錄與檔案名或目錄
    print(os.path.dirname("a.txt")) #傳回檔案路徑


# shutil
def demo1():
    dir_path = r'F:\test\b.txt'
    file_path = r'F:\test\mulitiple\a.txt'
    # 複制檔案: oldfile和newfile都隻能是檔案
    shutil.copyfile(file_path,dir_path)

    # oldfile隻能是檔案夾,newfile可以是檔案,也可以是目标目錄
   # shutil.copy("oldfile", "newfile")

    #複制檔案夾.olddir和newdir都隻能是目錄,且newdir必須不存在
    #shutil.copytree("olddir", "newdir")








if __name__ == '__main__':
   demo1()