日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python目录下的文件夹_Python列出当前文件夹下文件的两种方法

發布時間:2023/12/19 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python目录下的文件夹_Python列出当前文件夹下文件的两种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Python做一些自動化操作時,經常與文件夾和文件打交道,這就依賴于OS模塊了。

OS是Operate System的縮寫,是Python標準庫中一個用于訪問操作系統功能的模塊,OS模塊中的接口可以跨平臺、跨系統訪問。

OS模塊功能很強大,能夠做很多事,舉個栗子吧:

獲取平臺信息,判斷操作系統

對目錄操作

判斷操作

有時候我們需要掃碼某個文件夾下的文件,然后根據擴展名自動載入對應文件,比如批量讀取所有Excel文件,處理Excel里面的數據。下面就介紹兩個方法,如何對文件夾/文件進行掃描。

os.listdir()

[scode]os.listdir()[/scode]方法語法格式如下:

os.listdir(path)

該方法用于返回指定的文件夾path包含的文件或文件夾的名字的列表,在Unix系統下[mark]不會包含 . 和 .. [/mark],并且[mark]不會遍歷[/mark]列出子文件夾下的文件和文件夾。

如果你想列出當前Python文件所在目錄下的所有文件和文件夾,再告訴你一個很有用的方法:[scode]os.getcwd()[/scode]

當然我們還可以對文件夾和文件進行過濾,下面以代碼作為演示:

import os

current_dir = os.getcwd()

for f in os.listdir(current_dir):

# 返回當前絕對路徑,使用os.path.join()方法可以不用考慮路徑分隔符

absolute_path = os.path.join(path, f)

# 如果是文件

if os.path.isfile(absolute_path):

print("這是文件: ", absolute_path)

elif os.path.isdir(absolute_path):

print("這是文件夾:", absolute_path)

使用[scode]os.path.join()[/scode]可以完美解決不同平臺路徑的分隔符問題,再也不怕搞錯路徑啦。

我們知道,Windows系統路徑分隔符是"\\", Linux類系統如Ubuntu的分隔符是"/"。如果你是一個善于動手的好孩子,可以手動添加分隔符,[scode]os.sep[/scode]可以返回當前平臺的路徑分隔符。

os.walk()

如果你搜索Python列出當前文件夾下相關文章,大多數看到的都是介紹os.walk()方法,如果我一開始介紹這個方法,你的小手已經點向了小紅叉。

walk()方法語法格式如下:

os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])

top -- 是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。

root 所指的是當前正在遍歷的這個文件夾的本身的地址

dirs 是一個 list ,內容是該文件夾中所有的目錄的名字(不包括子目錄)

files 同樣是 list , 內容是該文件夾中所有的文件(不包括子目錄)

topdown --可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(默認為開啟)。如果 topdown 參數為 True,walk 會遍歷top文件夾,與top 文件夾中每一個子目錄。

onerror -- 可選,需要一個 callable 對象,當 walk 需要異常時,會調用。

followlinks -- 可選,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。

敲重點,[scode]os.walk()[/scode]會進行遍歷,不管你的文件目錄藏的有多深,也逃不過它的五指山,這是與[scode]os.list()[/scode]不同點之一。

下面以一個例子演示[scode]os.walk()[/scode]方法

import os

current_path = os.getcwd()

for root, dirs, files in os.walk(current_path, topdown=False):

for name in files:

print(os.path.join(root, name))

for name in dirs:

print(os.path.join(root, name))

總結

以上是生活随笔為你收集整理的python目录下的文件夹_Python列出当前文件夹下文件的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。