當前位置:首頁 » 編程語言 » python遞歸創建目錄

python遞歸創建目錄

發布時間: 2024-05-02 21:02:38

❶ 求通過python實現,在指定目錄下遍歷所有文件,將以.txt為後綴的文件移動到另一指定目錄中

target_dir = 'home/' #假定要拷貝到home目錄
x = [ item for item in os.walk('.') ] #os.walk遞歸地遍歷所有子文件夾
#返回的是一個list,list中每一個元素由3個部分:(path, dirs, files)
for path, dirs, files in x:
for file in files:
if file.endswith('.txt'): #找到以txt結尾的,之
shutil.( path+os.sep+file , target_dir )

❷ python中需要引用文件名稱在哪

第一種:os.listdir
os.listdir() 方法用於返回指定的目錄下包含的文件或子目錄的名字的列表。這個列表以字母順序。其得到的是僅當前路徑下的文件名,不包括子目錄中的文件,如果需要得到所有文件需要遞歸。 它也不包括 '.' 和 '..' 即使它在目錄中。
語法格式為:os.listdir(path)
舉例:def list_dir(file_dir):
'''
通過 listdir 得到的是僅當前路徑下的文件名,不包括子目錄中的文件,如果需要得到所有文件需要遞歸
'''
print'\n\n<><><><><><> listdir <><><><><><>'
print "current dir : {0}".format(file_dir)
dir_list = os.listdir(file_dir)
for cur_file in dir_list:
# 獲取文件的絕對路徑
path = os.path.join(file_dir, cur_file)
if os.path.isfile(path): # 判斷是否是文件還是目錄需要用絕對路徑
print "{0} : is file!".format(cur_file)
if os.path.isdir(path):
print "{0} : is dir!".format(cur_file)
list_dir(path) # 遞歸子目錄
第二種:os.walk
os.walk() 方法用於通過在目錄樹中遊走輸出在目錄中的文件名,向上或者向下。是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。
語法格式為:os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
方法參數說明:top:要遍歷的目錄的路徑
topdown:可選,如果為 True,則優先遍歷 top 目錄,以及 top 目錄下的每一個子目錄,否則優先遍歷 top 的子目錄,默認為 True
onerror: 可選, 需要一個 callable 對象,當 walk 異常時調用
followlinks:可選, 如果為 True,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄,默認為 False
args:包含那些沒有 '-' 或 '--' 的參數列表
返回值: 三元組 (root, dirs, files)
root :所指的是當前正在遍歷的目錄的地址
dirs :當前文件夾中所有目錄名字的 list (不包括子目錄)
files :當前文件夾中所有的文件 (不包括子目錄中的文件)
舉例:def work_dir(file_dir):
print'\n\n<><><><><> work dir <><><><><>'
for root, dirs, files in os.walk(file_dir):
print'\n========================================'
print "root : {0}".format(root)
print "dirs : {0}".format(dirs)
print "files : {0}".format(files)
for file in files:
try:
print'-----------------------------------'
file_name = os.path.splitext(file)[0]
file_suffix = os.path.splitext(file)[1]
file_path = os.path.join(root, file)
file_abs_path = os.path.abspath(file)
file_parent = os.path.dirname(file_path)
print "file : {0}".format(file)
print "file_name : {0}".format(file_name)
print "file_suffix : {0}".format(file_suffix)
print "file_path : {0}".format(file_path)
print "file_abs_path : {0}".format(file_abs_path)
print "file_parent : {0}".format(file_parent)
except Exception, e:
print "Exception", e
找到文件目錄,對於Python初學者來說算是一個簡單操作了,希望本文能對Python小白有所幫助。

❸ python如何根據輸入值動態創建文件目錄下再創建一個文件夾

import os

basepath = os.getcwd() # 如果你想在當前路徑下創建
# basepath = r"C:\\" #如果你想在特定路徑下創建
d1 = input("d1:")
full1 = os.path.join(basepath, d1)
os.makedirs(full1, exist_ok=True)
d2 = input("d2:")
full2 = os.path.join(d1, d2)
os.makedirs(full2, exist_ok=True)

❹ python怎麼下載os庫

os 庫提供通用的、基本的操作系統交互功能os 庫是Python標准庫,包含幾百個函數,常用的有路徑操作、進程管理、環境參數等。
os模塊包含普遍的操作系統功能,與具體的平台無關。以下列舉常用的命令(推薦學習:Python視頻教程)
1. os.name——判斷現在正在實用的平台,Windows 返回 『nt'; Linux 返回』posix'
2. os.getcwd()——得到當前工作的目錄。
3. os.pstdir()——指定所有目錄下所有的文件和目錄名。
4. os.remove()——刪除指定文件
5. os.rmdir()——刪除指定目錄
6. os.mkdir()——創建目錄
注意:這樣只能建立一層,要想遞歸建立可用:os.makedirs()
7. os.path.isfile()——判斷指定對象是否為文件。是返回True,否則False
8. os.path.isdir()——判斷指定對象是否為目錄。是True,否則False。
9. os.path.exists()——檢驗指定的對象是否存在。是True,否則False.
10. os.path.sppt()——返迴路徑的目錄和文件名。
此處只是把前後兩部分分開而已。就是找最後一個'/'。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python怎麼下載os庫的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

❺ 奼傛寚鐐筽ython閫掑綊

鐪嬩簡浣犵殑浠g爜錛屼綘榪欓噷闈㈡槸娌℃湁鐢ㄥ埌閫掑綊鐨

鑷充簬浣犵殑杈撳嚭錛宖.split_path()杈撳嚭鐨勬槸('C:\Users\Lin\workspace\python_io\src', 'linh.txt')錛岄偅鏄鍥犱負浣犲湪split_path()閲岀殑澶勭悊鏃惰繖鏍風殑錛屽洜涓簅s.path.split鏄灝嗗畬鏁磋礬寰勫垎闅旀垚璺寰勫拰鏂囦歡鍚嶃備綘榪欓噷鍏堝悎璧鋒潵錛屽啀鍒嗛殧錛屾病澶鎼炴噦鏄瑕佸仛浠涔堛傛垜緇欎綘鍋氫笅娉ㄩ噴

path=path + "\" + self.fileName #'C:\Users\Lin\workspace\python_io\src' +'linh.txt'
parent_path, name=os.path.split(path) #parent_path='C:\Users\Lin\workspace\python_io\src'

#name='linh.txt'

return (parent_path, name)

鍦╯plit_fully()鍑芥暟閲岋紝浣犺皟鐢ㄤ簡涓ゆsplit_path()錛岀涓嬈¤繑鍥炵殑parent_path鍐嶄竴嬈℃墽琛屼簡os.path.split錛屽畠灝嗕綘鐨勮礬寰勫啀浠庢渶鍚庡垏浜嗕竴涓'src'鍑烘潵錛


鎴戣繖閲屽彧鏄鎵撳嵃浜嗕竴涓嬶紝浣犲彲浠ユ彃鍏ュ埌鍒楄〃鎴栦綔鍏朵粬澶勭悊銆傜湅鐪嬩綘鐨勯渶奼傛槸涓嶆槸榪欎釜鏍峰瓙錛

path='C:\Users\Lin\workspace\python_io\src\linh.txt'
defgetsinglepath(path):
path,singlepath=os.path.split(path)
ifsinglepath=='':
return''
else:
printsinglepath
returngetsinglepath(path)
getsinglepath(path)

>>> getsinglepath(path)

linh.txt

src

python_io

workspace

Lin

Users

''

❻ python os模塊怎麼使用

常用方法:

1. os.name——判斷現在正在實用的平台,Windows 返回 『nt'; Linux 返回』posix'。

2. os.getcwd()——得到當前工作的目錄。

3. os.listdir()——指定所有目錄下所有的文件和目錄名。

例:

❼ Python 實現遞歸

一、使用遞歸的背景

先來看一個☝️介面結構:

這個孩子,他是一個列表,下面有6個元素

展開children下第一個元素[0]看看:

發現[0]除了包含一些欄位信息,還包含了 children 這個欄位(喜當爹),同時這個children下包含了2個元素:

展開他的第一個元素,不出所料,也含有children欄位(人均有娃)

可以理解為children是個對象,他包含了一些屬性,特別的是其中有一個屬性與父級children是一模一樣的,他包含父級children所有的屬性。

比如每個children都包含了一個name欄位,我們要拿到所有children里name欄位的值,這時候就要用到遞歸啦~

二、find_children.py

拆分理解:

1.首先import requests庫,用它請求並獲取介面返回的數據

2.若children以上還有很多層級,可以縮小數據范圍,定位到children的上一層級

3.來看看定義的函數
我們的函數調用:find_children(node_f, 'children')
其中,node_f:json欄位
    children:遞歸對象

 以下這段是實現遞歸的核心:
   if items['children']:
 items['children']不為None,表示該元素下的children欄位還有子類數據值,此時滿足if條件,可理解為 if 1。
 items['children']為None,表示該元素下children值為None,沒有後續可遞歸值,此時不滿足if條件,可理解為 if 0,不會再執行if下的語句(不會再遞歸)。

至此,每一層級中children的name以及下一層級children的name就都取出來了

希望到這里能幫助大家理解遞歸的思路,以後根據這個模板直接套用就行

(晚安啦~)

源碼參考: https://www.coder4.com/archives/5767

❽ python怎麼用遞歸遍歷多層目錄樹

#coding=utf-8
search_id = '69d0'
search_list = [{'id':'0337', 'name':'de', 'parent_id':'None'},
{'id':'2ddf', 'name':'se', 'parent_id':'None'},
{'id':'3010', 'name':'12', 'parent_id':'69d0'},
{'id':'3119', 'name':'121', 'parent_id':'3010'},
{'id':'3229', 'name':'1211', 'parent_id':'3119'},
{'id':'3d37', 'name':'14', 'parent_id':'69d0'},
{'id':'58c8', 'name':'11', 'parent_id':'69d0'},
{'id':'63b9', 'name':'a','parent_id':'None'},
{'id':'954c', 'name':'n', 'parent_id':'63b9'},
{'id':'69d0', 'name':'1', 'parent_id':'954c'},
{'id':'d2f9', 'name':'13', 'parent_id':'69d0'},
{'id':'defb', 'name':'test', 'parent_id':'None'}]
search_ids = []
#例如如果search_id = '69d0' search_ids=[3010,3d37,58c8,d2f9,3119,3229]

def search_pid(pid,id_list,id_results):
for id in id_list:
if id['id'] not in id_results:
if id['parent_id'] in pid:
id_results.append(id['id'])
pid.append(id['id'])
search_pid(pid,id_list,id_results)

search_pid([search_id],search_list,search_ids)
print search_ids

❾ python 中os.pardir什麼意思

os.pardir- 路徑組件,意味著將目錄樹向上遍歷一級(例如,「 ..」)。

os.path 函數可用於將表示文件名的字元串解析為其組成部分。重要的是要意識到這些功能不依賴於實際存在的路徑。路徑解析取決於以下定義的一些 os 變數:

1、os.sep- 路徑部分之間的分隔符。

2、os.extsep- 文件名和文件「擴展名」之間的分隔符(例如,「 .」)。

3、os.curdir- 引用當前目錄的路徑組件(例如,「 .」)。

(9)python遞歸創建目錄擴展閱讀

os.getcwd(): 獲取當前工作目錄,即當前python腳本工作的目錄路徑。

os.chdir("dirname") :改變當前腳本工作目錄;相當於shell下cd。

os.curdir 返回當前目錄: ('.')。

os.pardir 獲取當前目錄的父目錄字元串名:('..')。

os.makedirs('dirname1/dirname2') :可生成多層遞歸目錄。

os.removedirs('dirname1'): 若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推。

熱點內容
電腦主機做伺服器下載快不 發布:2024-11-28 00:32:40 瀏覽:386
冷凍存儲盒 發布:2024-11-28 00:21:04 瀏覽:127
達內幼兒編程 發布:2024-11-28 00:21:02 瀏覽:320
我的世界下100層是什麼伺服器 發布:2024-11-28 00:16:50 瀏覽:548
怎麼改配置密碼 發布:2024-11-28 00:16:44 瀏覽:113
伺服器晶元v幾是什麼 發布:2024-11-28 00:15:37 瀏覽:599
家庭麥克需要什麼配置才能用 發布:2024-11-28 00:05:28 瀏覽:384
c語言then是什麼意思 發布:2024-11-27 23:54:07 瀏覽:195
提升訪問 發布:2024-11-27 23:41:39 瀏覽:821
為什麼學習編程 發布:2024-11-27 23:41:37 瀏覽:942