1. 程式人生 > >[python]目錄及文件操作

[python]目錄及文件操作

pat 文件復制 for text pwd .get tro 拼接 files

Python OS模塊和shutil模塊

  • 獲取路徑
# 獲取當前路徑
pwd = os.getcwd()

# 獲取上級路徑
a_pwd = os.path.abspath(os.path.dirname(os.getcwd()))
a_pwd = os.path.abspath(os.path.join(os.getcwd(), ‘..‘))

# 獲取上上級路徑
aa_pwd = os.path.abspath(os.path.join(os.getcwd(), ‘../..‘))

  

  • 路徑拼接
path = os.path.join(‘aa/bb‘, ‘cc/dd.*‘)

  

  • (遞歸)創建文件夾
# 創建文件夾
os.mkdir(‘aa‘)
# 遞歸創建文件夾
os.makedirs(‘aa/bb/cc‘)

  

  • 判斷路徑是否存在
os.path.exists(‘aa‘)

  

  • 路徑切割
# 獲取文件名
fpath, fullname = os.path.split(‘aa/bb/cc.*‘)
# fpath: aa/bb  fullname: cc.*

# 獲取文件後綴
apath, ext = os.path.splitext(‘aa/bb/cc.*‘)
# apth: aa/bb/cc  fullname: *

  

  • 遍歷目錄下所有相關文件
fs = []
def gci(filepath):
    # 遍歷filepath下所有文件,包括子目錄
    files = os.listdir(filepath)
    for fi in files:
        fi_d = os.path.join(filepath, fi)
        if os.path.isdir(fi_d):
            gci(fi_d)
        else:
            fname, ext = os.path.splitext(fi)
            if ext == ‘.*‘:
                fs.append(os.path.join(filepath, fi_d))

  

  • 文件復制
# 復制文件和權限
shutil.copy(‘src_path‘, ‘new_path‘)

  

[python]目錄及文件操作