python note 檔案目錄(2)

2021-09-17 01:17:00 字數 2775 閱讀 7236

# _*_ coding: utf-8 _*_

import os

"""需求,實現學生管理目錄

os.makedirs()

"""main_dir=os.path.join(

os.path.dirname(__file__),

"school"

)for v in range(1,4):

level_dir=os.path.join(

main_dir,

"level{}".format(v)

) #年級目錄

for val in range(1,6):

class_dir=os.path.join(

level_dir,

"class{}".format(val)

) #班級目錄

for value in range(1,31):

id_dir=os.path.join(

class_dir,

"id{}".format(str(value).zfill(2))

) #學生目錄

print(id_dir)

if os.path.exists(id_dir):

os.makedirs(id_dir)

#print(main_dir)

# _*_ coding: utf-8

import os

"""os.rmdir(路徑):刪除目錄

os.listdir(路徑):列出當前路徑下所有檔案和目錄

os.path.isfile(路徑):判斷是不是檔案

os.path.isdir(路徑):判斷是不是目錄

os.remove(檔案路徑):刪除檔案

os.removedirs(多級目錄路徑):如果是空目錄可以直接刪除,如果目錄有檔案,那麼該目錄沒法刪除

"""#刪除a

path1=os.path.join(

os.path.dirname(__file__),

"a")

print(path1)

print(os.listdir(path1))

#不存在則建立,存在則刪除

if os.path.exists(path1):

sub_path1_list=os.listdir(path1)

if sub_path1_list:

for v in sub_path1_list:

sub_path1=os.path.join(

path1,v)

if os.path.exists(sub_path1):

#判斷是否是檔案

if os.path.isfile(sub_path1):

os.remove(sub_path1)

#判斷是否是目錄

if os.path.isdir(sub_path1):

os.rmdir(sub_path1)

os.rmdir(path1)

#刪除aaa/bbb/ccc/ddd

path2="aaa/bbb/ccc/ddd"

print(path2)

#遞迴刪除多級目錄

def delete_tree_dir(path):

print(path)

if os.path.isfile(path):

os.remove(path)

if os.path.isdir(path):

for sub in os.listdir(path):

sub_path=os.path.join(

path,sub

)delete_tree_dir(sub_path)

os.rmdir(path)

delete_tree_dir("a")

#os.removedirs("a/b/c")

#清空school/level03下面的所有目錄

def delete_level03_sub_dir(path):

sub_dirs=filter(

lambda v:os.path.isdir(os.path.join(path,v)),

os.listdir(path)

)for v in sub_dirs:

delete_tree_dir(

os.path.join(path,v)

)#print(list(sub_dirs))

delete_level03_sub_dir("school/level03")

# _*_ coding: utf-8 _*_

import os

from prettyprinter import cpprint

#os.walk(頂級路徑,topdown=false):展開檔案和目錄方法

#true最頂級目錄在上,最底級目錄在下

#false最底級目錄在上,最頂級目錄在下

#強制刪除思路:是從最底層的目錄和檔案開始刪除,自下往上

path="aaa"

#cpprint(list(os.walk(path,topdown=false)))

for root_path,dirs,files in os.walk(path,topdown=false):

#自下往上刪除所有的目錄

for d in dirs:

os.rmdir(os.path.join(root_path,d))

#自下往上刪除所有的檔案

for f in files:

os.remove(os.path.join(root_path,f))

2 目錄操作 檔案操作

命令 解釋cd home 進入 home 目錄 cd 返回上一級目錄 cd user1 進入個人主目錄 假如使用者名為user1 cd 返回上次所在目錄 pwd顯示當前工作路徑 ls檢視目錄中的檔案 ls l 顯示檔案和目錄的詳細資料 ls a 顯示隱藏檔案 mkdir dir1 建立目錄 rmdi...

檔案目錄CDays檔案目錄

在文中grep現實例子中,沒有斟酌子目錄的理處,因為如果直接open目錄行進讀作操會湧現錯誤,所以求要讀者修改這個示例 以便斟酌到子目錄這類特殊情況,然後把最後摸索出的 cdcgrep 嵌入 pycdc v0.5.py 現實現實本版的 pycdc。根據cdays 2 中的原始碼,我們可以道知他列出了...

Dart的檔案 目錄和鏈結(2)

import dart io main list string arguments dir subdir file.txt create recursive true then file 執行後看看系統臨時目錄下是否有建立好的目錄和檔案 檢視讀取到的檔案內容是否正確 效果如下 arguments 個...