python递归创建目录
❶ 求通过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'): 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推。