對Python中路徑操作指南

2021-10-02 00:14:56 字數 4419 閱讀 3153

1. os.path模組

3.4版本之前使用os.path模組,3.4版本之後建議使用pathlib模組

/2. pathlib模組from pathlib import path

path中返回的是乙個path物件,而os.path中返回的是乙個字串。

2.1 目錄操作

初始化:

>>

> p = path(

)# 當前目錄

>>

> p = path(

'a',

'b',

'c/d'

)# 當前目錄下的a/b/c/d

>>

> p = path(

'/etc'

)# 根下的etc目錄

判斷目錄:

>>

> path.cwd(

)posixpath(

'/home/yanfa'

)>>

> path.home(

)posixpath(

'/home/yanfa'

)>>

> p = path(

'/home/yanfa'

)>>

> p

posixpath(

'/home/yanfa'

)>>

> p.is_dir(

)true

>>

> p.is_file(

)false

>>

> p.is_absolute(

)true

建立目錄:

'''

'''>>

> p = path(

)>>

> p /=

'a/b/c/d'

>>

> p.exists(

)false

>>

> p.mkdir(

)# filenotfounderror

traceback (most recent call last)

: file ""

, line 1,in

file "/usr/local/python3.6/lib/python3.6/pathlib.py"

, line 1248

,in mkdir

self._accessor.mkdir(self, mode)

file "/usr/local/python3.6/lib/python3.6/pathlib.py"

, line 387

, return strfunc(

str(pathobj)

,*args)

filenotfounderror:

[errno 2

] no such file

or directory:

'a/b/c/d'

>>

> p.mkdir(parents=

true

)>>

> p.exists(

)true

萬用字元匹配:

'''

'''>>

> p = path(

)>>

>

list

(p.glob(

'h*'))

[posixpath(

'h')

, posixpath(

'hello')]

>>

>

list

(p.glob(

'**/*.py'))

[posixpath(

'pass_py.py')]

>>

> g = p.rglob(

'*.py'

)>>

>

next

(g)posixpath(

'pass_py.py'

)>>

>

next

(g)traceback (most recent call last)

: file ""

, line 1,in

stopiteration

>>

> p = path(

'a/b/c/d'

)>>

> p = path(

'a/b/c/ddd.py'

)>>

> p.match(

'd*.py'

)true

>>

> p.match(

'c/d*.py'

)true

>>

> p.match(

'b/*/d*.py'

)true

檢視檔案或者目錄屬性資訊

2.2 檔案操作

open(mode=『r』, buffering=-1, encoding=none, errors=none, newline=none如何內建的open,返回乙個檔案物件。

'''

'''>>

>

from pathlib import path

>>

> p = path(

'hello'

)>>

> p.write_text(

'hello python')12

>>

> p.read_text(

)'hello python'

>>

>

with p.

open()

as f:..

.print

(f.read())

... hello python

3. shutil模組3.1 os模組

3.2 shutil模組

shutil模組提供了對檔案的高階操作,特別是針對檔案的複製和移動。

python 的路徑操作

一 常用函式 os模組 os.sep 表示預設的檔案路徑分隔符,windows為 linux為 os.walk spath 用來遍歷目錄下的檔案和子目錄 os.listdir dirname 列出dirname下的目錄和檔案 os.mkdir 建立目錄 os.makedirs 建立目錄,包含中間級目...

Python檔案路徑操作

os.path.abspath path 返回絕對路徑 os.path.basename path 返回檔名 os.path.commonprefix list 返回多個路徑中,所有path共有的最長的路徑。os.path.dirname path 返回檔案路徑 os.path.exists pat...

Python學習 路徑操作

import os.path as os 路徑的操作 os.abspath path 返回path在當前系統中的絕對路徑 os.abspath file.txt os.normpath path 歸一化path的表示形式,統一用 分隔路徑 os.normpath d pye d pye file.t...