Python操做目錄,如:獲取當前工做目錄,獲取執行命令的位置,路徑拼接,路徑拆分,文件重命名,刪除文件,複製文件

前言

更多內容,請訪問個人 我的博客編程


  • 獲取當前工做目錄
  • 獲取執行命令的位置
  • 路徑拼接
  • 路徑拆分
  • 文件重命名
  • 刪除文件
  • 複製文件
  • 遍歷文件夾下的文件
  • 判斷文件是否存在
  • 判斷目錄是否存在

獲取當前工做目錄

import sys

print(sys.path[0])  # 獲取當前工做目錄
複製代碼

獲取當前腳本名

import sys

print(sys.argv[0])  # 當前腳本名
複製代碼

獲取執行命令的位置

import os

print(os.getcwd())  # 獲取執行命令的位置
複製代碼

獲取路徑的目錄

import os

print(os.path.dirname(path))  # 去掉文件名,返回目錄
複製代碼

路徑拼接

因爲不一樣的操做系統的路徑分隔符不一樣,所以在作路徑拼接時不要直接拼接字符串,而是經過 os.path.join() 函數,以下:bash

import os

os.path.join('/Users/pangao', 'test.txt')

# /Users/pangao/test.txt'
複製代碼

路徑拆分

同理,使用 os.path.split() 函數拆分路徑,以下:函數

import os

os.path.split('/Users/pangao/test.txt')

# ('/Users/pangao/', 'test.txt')
複製代碼

os.path.splitext() 能夠直接獲取文件擴展名,很方便,以下:ui

import os

os.path.splitext('/Users/pangao/test.txt')

# ('/Users/pangao/test', '.txt')
複製代碼

這些合併、拆分路徑的函數並不會檢測目錄和文件是否真實存在,他們僅僅是對字符串進行操做。spa

文件重命名

假定當前目錄下有一個 test.txt 文件,以下:操作系統

import os

os.rename('test.txt', 'test.py')    #重命名
複製代碼

刪除文件

假定當前目錄下有一個 test.txt 文件,以下:code

import os

os.remove('test.txt')    #刪除
複製代碼

複製文件

os 模塊中沒有複製函數,幸運的是shutil模塊提供了copyfile()的函數,你還能夠在shutil模塊中找到不少實用函數,它們能夠看作是os模塊的補充,以下:blog

import shutil

shutil.copyfile('test.txt', 'test.py')
複製代碼

遍歷文件夾下的文件

  • 方法1:
    使用 os.listdir 獲取當前目錄下的文件和文件夾,以下:
import os

for filename in os.listdir('./'):
    print(filename)
複製代碼
  • 方法2:
    使用 glob 模塊,能夠設置文件過濾,以下:
import glob

for filename in glob.glob('*.py'):
    print(filename)
複製代碼
  • 方法3:
    經過 os.walk ,能夠訪問子文件夾,以下:
import os

for fpathe, dirs, fs in os.walk('./'):
    for f in fs:
        print(os.path.join(fpathe, f))
複製代碼

判斷文件是否存在

import os

os.path.isfile('test.txt') # 若是不存在就返回False
複製代碼

判斷目錄是否存在

import os

os.path.exists(directory) #若是目錄不存在就返回False
複製代碼

更多編程教學請關注公衆號:潘高陪你學編程ip

image
相關文章
相關標籤/搜索