python 檔案與目錄操作

2021-05-22 21:37:29 字數 3164 閱讀 9924

1)os.path

1.1 os.path.isabs(path) 是否是絕對路徑

1.2 os.path.isfile(path)

1.3 os.path.isdir(path)

1.4 os.path.islink(path) 是否是鏈結;但如果系統不支援鏈結,返回false

1.5 os.path.ismount(path) 是否為驅動器;但是很不幸的是在python 3.0中這是個不能執行的函式。

原函式如下:

# is a path a mount point? either a root (with or without drive letter)

# or an unc path with at most a / or / after the mount point.

def ismount(path):

"""test whether a path is a mount point (defined as root of drive)"""

unc, rest = splitunc(path)

seps = _get_bothseps(p)

if unc:

return rest in p[:0] + seps

p = splitdrive(path)[1]

return len(p) == 1 and p[0] in seps

其錯誤之處是顯而易見的。不知道這個函式為什麼這麼寫,在windows平台,可以如下完成該功能

def ismount(path):

p = splitdrive(path)[1]

if len(p) > 0:

return(false)

else:

return(true)

其他平台沒有對應的機器,不知道具體情形。

1.6 os.path.abspath(path) 返回絕對路徑

1.7 os.path.dirname(path)

1.8 os.path.exists(path)

1.9 os.path.lexists(path) 和exists函式一樣

1.10os.path.getsize(path)

1.11os.path.getctime(path) 返回浮點數的系統時間,在類unix系統上是檔案最近更改的時間,

在windows上是檔案或目錄的建立時間

1.12os.path.getmtime(path) 檔案或目錄最後更改的時間

1.13os.path.getatime(path) 檔案或目錄最後訪問的時間

1.14os.path.samefile(path1,path2) 如果2個路徑指向同樣的檔案或目錄,返回true(windows上不可用)

1.15os.path.split(path) 分割路徑,如果path是目錄,返回[parentname, dirname];

如果path是檔案,返回[dirname, filename]

1.16os.path.splitext(path) 分割路徑,如果path是目錄,返回[parentname, ''];

如果path是檔案,返回[dirname+filename, 檔案字尾]

2)fileinput

簡單使用

import file

input for line in fileinput.input():

process(line)

2.1 fileinput.input([files[, inplace[, backup[,mode[,openhook]]]]])

建立乙個fileinput的例項,如果files為空,則指向控制台獲得輸入;如果file為'-',同樣轉向控制台獲得輸入。

預設情況,檔案以text mode開啟,如果需要其他格式,則需要指定。

2.2 fileinput.filename() #只有當讀入第一行之後,該值才被賦值

2.3 fileinput.fileno()

2.4 fileinput.lineno()

2.5 fileinput.filelineno()

2.6 fileinput.isfirstline()

2.7 fileinput.isstdin()

2.8 fileinput.nextfile()

2.9 fileinput.close()

3)glob

可以使用簡單的方法匹配某個目錄下的所有子目錄或檔案,用法也很簡單。

3.1 glob.glob(regression) 返回乙個列表

3.2 glob.iglob(regression) 返回乙個遍歷器

這個模組簡單好用,強力推薦。

4)linecache

看名字就知道了,屬於快取類的

4.1 linecache.getline(filename,lineno[, module_globals]) #獲得filename的第lineno行

4.2 linecache.clearcache()

4.3 linecache.checkcache([filename]) #檢查更新

5)shutil 重點推薦的襖,好東西,支援檔案集合的複製和刪除操作

5.1 shutil.copyfileobj(fsrc, fdst[, length])

5.2 shutil.copyfile(src, dst) #上面2個都是檔案的複製

5.3 shutil.copymode(src, dst) #除了複製內容,還會複製其他的一些資訊,例如作者

5.4 shutil.copystat(src, dst) #除了複製內容,還會複製訪問時間的資訊

5.5 shutil.copy(src, dst) #複製檔案到dst,當dst為目錄時,複製到子目錄

5.6 shutil.copy2(src, dst) #相當於先copy再copystat

5.7 shutil.copytree(src, dst[, symlinks=false[, ingore=none]]) #複製資料夾樹,注意,dst資料夾必須是不存在的

5.8 shutil.rmtree(path[, ignore_erros[, onerror]])

5.9 shutil.move(src,dst)

python 目錄與檔案操作

os和os.path模組 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回但前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir name 判斷name是不是乙個目錄,...

python目錄與檔案操作

python 目錄與檔案操作 os和os.path模組 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回但前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir name...

python常用檔案與目錄操作

主要用到的是os和shutil模組 檔案操作 檢驗給出的路徑是否是乙個檔案 檢驗給出的路徑是否是乙個目錄 檢驗給出的路徑是否真地存 返回乙個路徑的目錄名和檔名 分離副檔名 獲取檔名 檔案重新命名 建立多級目錄 建立單個目錄 目錄操作 複製資料夾 重新命名目錄 移動檔案 目錄 刪除目錄 轉換目錄 操作...