python目錄操作函式 Python3目錄操作

2021-10-21 07:01:33 字數 4718 閱讀 8163

python3 目錄操作

常見的目錄操作:

顯示當前目錄

切換目錄

新建、刪除目錄、移動、複製

顯示目錄內容

判斷目錄、檔案是否存在

目錄操作常用的函式如下:

os.listdir() # 列出目錄下的內容

os.getcwd() # 顯示當前工作路徑

os.chdir() # 切換工作目錄

os.mkdir() # 新建目錄

os.path.exists() # 判斷目錄是否存在

os.path.isdir() # 判斷是否是目錄

示例**1:

#!/usr/bin/python3

import os

test_path = r'd:\\python'

print(os.listdir(test_path))

輸出內容為乙個列表,由於內容太多這裡暫不貼出了

示例**2:

#!/usr/bin/python3

import os

print(os.getcwd()) # 獲取當前工作目錄

os.chdir('..') # 切換目錄

print(os.getcwd())

os.mkdir('testdir') #建立路徑

print(os.listdir())

輸出:'d:\python\jupyter'

'd:\python'

['.ipynb_checkpoints',

'bak',

'jupyter',

'project',

'test.txt',

'testdir',

'untitled.ipynb',

路徑就是一條字串

左右斜線

os.path.join()

os.path.exists()

os.path.isdir()

示例**:

#!/usr/bin/python3

import os

url1 = os.path.join('a', 'b') # 路徑拼接

print(url1)

print(os.path.exists(r'd:\python')) # 判斷路徑存不存在

print(os.path.isdir(r'd:\python')) # 判斷是否是路徑

輸出:'a\b'

true

true

相對路徑與絕對路徑

os.path.abspath()

os.path.isabs()

os.path.relpath()

示例**:

#!/usr/bin/python3

import os

url1 = os.path.abspath('.') # 得到.的絕對路徑

print(url1)

print(os.path.isabs('.')) # 判斷是否是絕對路徑

url2 = os.path.relpath('testdir', 'd:\python\testdir') # 得到testdir的相對路徑

print(url2)

輸出:'d:\python'

false

'..\python\testdir'

命名管理

路徑各級名稱

path.split(os.path.sep) 前邊的path是指的是乙個變數

os.path.basename()

os.path.dirname()

刪除檔案shutil模組

os.unlink

shutil.rmtree(path)

複製、移動

copy

copytree

move

示例**1:

#!/usr/bin/python3

import os

dirname = r'd:\python\testdir'

print(os.path.sep) # 顯示路徑分隔符

namelist = dirname.split(os.path.sep)

print(namelist)

namelist1 = os.path.split(dirname) # 用最後的乙個分隔符分開

print(namelist1)

filename = os.path.splitext(r'd:\python\xx.py') # 能取到目錄下檔案的字尾名

print(filename)

urlname = os.path.basename(dirname) # 找到最後乙個目錄的名字

print(urlname)

filename1 = os.path.basename(r'd:\python\xx.txt') # 還可以取到檔名

print(filename1)

urlname1 = os.path.dirname(path) # 取除最後乙個目錄之前的部分

print(urlname1)

輸出:['d:', 'python', 'testdir']

('d:\python', 'testdir')

('d:\python\*', '.py')

'testdir'

'xx.txt'

'd:\python'

示例**2:

#!/usr/bin/python3

import os

import shutil

os.unlink(r'd:\python\xx.txt') # 刪除檔案xx.txt

shutil.rmtree('testdir') # 刪除testdir目錄

shutil.copytree('./test', './test1') # 複製目錄

shutil.copy('./ss.txt', './ss1.txt') # 複製檔案

shutil.move('./ss1.txt', 'ss2.txt') # 移動(重新命名)檔案

只要我想要的檔案格式

檔案屬性

os.path.getsize()

os.path.isfile()

os.stat()

字尾名split

[-3:]

reendswith

示例**1:

#!/usr/bin/python3

import os

filename = r'd:\python\test.py'

os.path.getsize(filename)/1024 # 檢視檔案大小,以位元組為單位

dirname = r'd:\python' # 獲取目錄的大小

os.path.getsize(dirname)/1024

os.path.isfile(filename) # 判斷是否為檔案

os.stat(filename) # 檢視檔案屬性

filename[-3:] # 找字尾名,不通用

os.path.splitext(filename) # 取字尾名

filename.endswith('.py') # 是否以.py結尾

示例**2:

#!/usr/bin/python3

import os

import re

# 以正規表示式取字尾名

filename = r'd:\python\test.py'

os.chdir('d:/python')

re_filename = re.compile('(.*py$)')

name = re_filename.match(filename).group()

print(name)

# os.walk 遍歷目錄,找到對應.py的字尾名

for root, dirs, files in os.walk(r'd:\python'):

for name in files:

file = os.path.join(root,name)

if re_filename.match(file):

print(name)

壓縮備份檔案

使用zipfile

建立壓縮檔案

檢視資訊

解壓縮示例**:

#!/usr/bin/python3

import os

import zipfile

os.chdir('test')

my_zip = zipfile.zipfile('bak.zip', 'w') # 建立乙個bak.zip

my_zip.write('ss.txt', compress_type=zipfile.zip_deflated) # 向bak.zip中新增檔案

my_zip.write('ss2.txt', compress_type=zipfile.zip_deflated) # 新增檔案

my_zip.close() # 關閉bak.zip檔案

# 檢視

aa = zipfile.zipfile('bak.zip')

aa.namelist() #檢視壓縮檔案中的內容

aa.getinfo('ss.txt') # 檢視壓縮檔案中內容的屬性

aa.close()

# 解壓縮

xx = zipfile.zipfile('bak1.zip')

xx.extractall('../test1') # 解壓到上一級目錄

xx.close()

python 進入目錄 Python 目錄操作

注意之前要import os 1 獲得當前路徑 在python中可以使用os.getcwd 函式獲得當前的路徑。其原型如下所示。os.getcwd 該函式不需要傳遞引數,它返回當前的目錄。需要說明的是,當前目錄並不是指指令碼所在的目錄,而是所執行指令碼的目錄。例如,在pythonwin中輸入如下指令...

python 目錄操作

1 獲得當前路徑 在python中可以使用os.getcwd 函式獲得當前的路徑。其原型如下所示。os.getcwd 該函式不需要傳遞引數,它返回當前的目錄。需要說明的是,當前目錄並不是指指令碼所在的目錄,而是所執行指令碼的目錄。例如,在pythonwin中輸入如下指令碼。import os pri...

python 目錄操作

首先,匯入os模組。import os 獲取當前目錄 os.getcwd 建立目錄 os.mkdir 列出目錄下檔案 os.listdir path os.listdir 列出當前目錄。os.listdir 列出根目錄。判斷目錄下子項是檔案還是目錄。for item in os.listdir if...