7 Python基礎 OS模組和函式遞迴

2021-08-31 16:19:45 字數 1860 閱讀 5653

1.給定檔案路徑,深層獲取該路徑下所有檔案和資料夾,並甄別出檔案與資料夾的不同,在輸出結果中給與說明。

import os

def list_all_files(my_path=r'e:\python\project1'):

# 定義返回值列表

all_dir_file =

# 先找到該路徑的中的內容

my_list=os.listdir(my_path)

# 對所有檔案和資料夾逐一判斷,根據檔案和資料夾型別不同,做不同處理

for item in my_list:

# 路徑拼接,得到檔案和資料夾路徑

item_path = os.path.join(my_path,item)

# 如果是檔案

if os.path.isfile(item_path):

file_item=item+' 是檔案'

# 將檔案新增到返回列表中

# 如果是資料夾

elif os.path.isdir(item_path):

dir_item = item + ' 是資料夾'

# 將資料夾新增到返回列表中

# 發現資料夾非空,則進入遞迴函式,進一步計算子資料夾的內容

if len(os.listdir(item_path))>0:

# 將子資料夾內容累加到返回值all_dir_file中

all_dir_file += list_all_files(item_path)

# 迭代函式出口

# 如果該路徑非空,只返回該級路徑的內容

if len(my_list)>=1:

return all_dir_file

# 如果該路徑內無內容,則結束迭代,返回none

else:

return none

# --------------------------呼叫函式-----------------------

input_path = r'e:\python\project1'

for item in list_all_files(input_path):

print(item)

# 結果如下:

# .idea 是資料夾

# misc.xml 是檔案

# modules.xml 是檔案

# project1.iml 是檔案

# workspace.xml 是檔案

# day10_homework_function.py 是檔案

# day11_os_recursion.py 是檔案

# day4_homework_loop1.py 是檔案

# day5_homework_list2.py 是檔案

# day6_homework_strfun.py 是檔案

# day7_homework_list.py 是檔案

# day8_homework_dic.py 是檔案

# day9_homework_function.py 是檔案

# hello3.py 是檔案

# leetcode.py 是檔案

# python_book 是資料夾

# 01 是資料夾

# fun1.py 是檔案

# model2.py 是檔案

# 03 是資料夾

# 3_1 是資料夾

# fun.py 是檔案

# model.py 是檔案

# __pycache__ 是資料夾

# fun.cpython-36.pyc 是檔案

# __pycache__ 是資料夾

# hello3.cpython-36.pyc 是檔案

python基礎7 python函式

python基礎知識 一 閉包函式 1 閉包函式的定義 在乙個內部函式中,在對外部作用域 但不是在全域性作用域 的變數進行引用,那麼內部函式就被認為是閉包。2 閉包函式的特點 自帶作用域和延遲計算 補充 1.函式的作用域關係在函式定義階段就已經固定,與呼叫位置無關。無論函式在何處呼叫,都需要回到定義...

python基礎 os模組

對作業系統進行操作的模組 os.walk 遍歷當前資料夾中所有的檔案及資料夾 os.chdir 改變目錄 os.sep 根據不同的平台使用不同的分隔符 os.getcwd 獲取當前路徑目錄 os.listdir 獲取當前路徑下所有的檔案及資料夾 os.mkdir 建立目錄 os.mkdirs 遞迴建...

python基礎 OS模組

os模組主要用來處理檔案和目錄import os1 os.getcwd 檢視當前目錄,模擬pwd print os.getcwd 輸出結果 home idex work2 os.chdir 切換目錄,模擬cd os.chdir r home idex print os.getcwd 輸出結果 hom...