python文件和目录操作方法大全

合集下载

【Python】python文件名和文件路径操作

【Python】python文件名和文件路径操作

【Python】python⽂件名和⽂件路径操作Readme:在⽇常⼯作中,我们常常涉及到有关⽂件名和⽂件路径的操作,在python⾥的os标准模块为我们提供了⽂件操作的各类函数,本⽂将分别介绍“获得当前路径”“获得当前路径下的所有⽂件和⽂件夹,”删除⽂件“,“删除⽬录/多个⽬录”,“检查⽂件/⽂件路径”,“检查⽂件路径是否存在”,“分离⽂件路径及⽂件名”,“分离⽂件扩展名“,”得到⽂件名”和得到”⽂件路径“。

1 import os2'''获得当前路径3'''4 cwd=os.getcwd()5 print(cwd)678'''9得到当前⽂件夹下的所有⽂件和⽂件夹10'''11 print(os.listdir())121314'''15 delete file16'''17 os.remove('sw724.vaps')18 print(os.listdir())192021'''22删除单个⽬录和多个⽬录23'''24 os.removedir()25 os.removedir()262728'''29检查是否是⽂件/⽂件夹30'''31 print(os.path.isfile('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps'))32 print(os.path.isdir('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps'))333435'''36检查⽂件路径是否存在37'''3839 print(os.path.exists('/Users/liuxiaolong/PycharmProjects/untitled/iiii'))4041'''42分离⽂件名43分离扩展名4445'''46 [dirname,filename]=os.path.split('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps')47 print(dirname,"\n",filename)4849 [fname,fename]=os.path.splitext('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps')50 print(fname,"\n",fename)5152'''53获得⽂件路径54获得⽂件名55获得当前环境56'''57 print("get pathname:",os.path.dirname('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps'))58 print("get filename:",os.path.basename('/Users/liuxiaolong/PycharmProjects/untitled/sw724.vaps'))59 print(os.getenv)。

python中用两种方法-查看目录下所有目录和文件

python中用两种方法-查看目录下所有目录和文件
fi_d = os.path.Байду номын сангаасoin(filepath,fi) if os.path.isdir(fi_d):
gci(fi_d) else:
print(os.path.join(filepath,fi_d))
#递归遍历/root目录下所有文件 gci('/opt/code/my_code/zk_css/common')
return res
def get_config_dirs(): res = {'dirname': 'root', 'child_dirs': [], 'files': []} return list_dir(r'/opt/code/my_code/zk_css', res)
if __name__ == '__main__': print(json.dumps(get_config_dirs()))
方法2:
''' 学习中遇到问题没人解答?小编创建了一个Python学习交流群:725638078 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' import os def gci(filepath): #遍历filepath下所有文件,包括子目录
files = os.listdir(filepath) for fi in files:
for i in os.listdir(path): temp_dir = os.path.join(path, i) if os.path.isdir(temp_dir): temp = {"dirname": temp_dir, 'child_dirs': [], 'files': []} res['child_dirs'].append(list_dir(temp_dir, temp)) else: res['files'].append(i)

如何在Python中进行文件和目录操作

如何在Python中进行文件和目录操作

如何在Python中进行文件和目录操作?在Python中进行文件和目录操作是非常常见的任务。

Python提供了许多内置模块和函数,使我们能够轻松地执行文件和目录相关的操作。

本文将介绍Python中文件和目录操作的常用方法,包括创建、读取、写入和删除文件,以及目录的创建、遍历和删除。

1.创建文件:-使用内置的open()函数可以创建一个新文件。

open()函数接受两个参数,第一个参数是文件路径,第二个参数是打开方式。

-例如,使用`open("file.txt", "w")`可以创建一个名为file.txt的空文件。

-第二个参数可以是以下几种模式之一:- "w":写入模式,会覆盖文件中的内容。

- "a":追加模式,将内容添加到文件的末尾。

- "r":读取模式,用于读取文件的内容。

- "x":如果文件已经存在,则会引发FileExistsError。

-使用完文件后,应使用`file.close()`将文件关闭,释放系统资源。

2.写入文件:-使用open()函数创建文件对象后,可以使用write()方法将数据写入文件。

- write()方法接受一个字符串参数,将其写入文件中。

-例如,打开一个文件对象`file`后,可以使用`file.write("Hello, world!")`将字符串写入文件中。

-写入完成后,务必使用`file.close()`关闭文件。

3.读取文件:-使用open()函数创建文件对象后,可以使用read()方法来读取文件的内容。

- read()方法有以下几种用法:- `file.read()`:读取整个文件的内容,并将其作为一个字符串返回。

- `file.read(n)`:读取文件的前n个字符或字节。

- `file.readline()`:读取文件的一行,并返回一个字符串。

Python文件操作详解

Python文件操作详解

Python文件操作详解Python是一种高级编程语言,它已经成为了数据科学和机器学习领域中最受欢迎的编程语言之一。

Python具有语法简单、易于学习、跨平台等优点,同时支持许多操作系统,能够准确地处理文件和目录等信息。

在Python中,文件操作是非常方便且功能强大的。

本文将详细介绍Python文件操作的相关内容。

一、基本的文件操作1.1.打开文件要打开文件以进行读取或写入操作,就需要使用Python的open()函数将文件对象赋值给一个变量。

我们可以传递给open()函数参数包含要打开的文件名和要执行的操作类型。

例如,要打开一个名为file.txt的文本文件并进行写入操作,可以进行以下操作:```file = open('file.txt', 'w')```在这里,'w'表示以写入模式打开文件。

通过'w'模式打开文件时,如果文件不存在,将会创建一个新文件。

如果文件已经存在,则会清空文件中的所有内容并进行重写。

如果要读取文件,则可以使用' r '模式打开文件。

如果要进行附加,则可以使用'a'模式打开文件。

以下是示例代码:```file = open('file.txt', 'r')file = open('file.txt', 'a')```1.2.读取文件内容打开文件后,我们可以使用read()、readline()或readlines()函数读取文件内容。

read()函数通常用于读取整个文件的内容,而readline()函数用于一次读取一行。

readlines()函数可以读取整个文件并返回一个列表,其中每一项是文件中的行。

以下是示例代码:```file = open('file.txt', 'r')#读取整个文件file_contents = file.read()print(file_contents)#读取一行file_contents = file.readline()print(file_contents)#读取整个文件并返回一个列表file_contents = file.readlines()print(file_contents)```1.3.写入文件内容在Python中,我们可以使用write()函数向文件中写入内容。

os库常用方法

os库常用方法

os库常用方法
Python的os库提供了一系列常用的方法,用于文件和目录的操作。

以下是一些常用的os库方法:
1. (name_old, name_new):重命名文件或目录,从 name_old 到
name_new。

2. (path):判断指定路径是否存在。

3. (path[, mode]):递归创建目录。

像mkdir(),但创建的所有intermediate-level文件夹需要包含子文件夹。

4. (path):创建目录,只能创建单级目录。

5. (path):改变当前工作目录。

6. ():返回当前工作目录。

7. (path):返回指定路径下的文件和文件夹列表。

8. (top[, topdown=True[, onerror=None[, followlinks=False]]]):输出在文件夹中的文件名,通过在树中游走,向上或者向下。

9. ():合并多个路径组件,添加'/'为路径分隔符。

10. (file_name):剔除路径,返回最后的文件名。

以上只是os库的一部分常用方法,更多方法可以查阅Python官方文档或相关资料进行了解。

python文件和路径操作

python文件和路径操作

python⽂件和路径操作1: os.listdir(path) //path为⽬录功能相当于在path⽬录下执⾏dir命令,返回为list类型print os.listdir('..')2: os.path.walk(path,visit,arg)path :是将要遍历的⽬录visit :是⼀个函数指针,函数圆形为:callback(arg,dir,fileList)其中arg为为传给walk的arg , dir是path下的⼀个⽬录,fileList为dir下的⽂件和⽬录组成的list, arg:传给visit⽤的3:os.path.split(path)path 为⼀个路径,输出,把path分成两部分,具体看实例:print os.path.split("abc/de.txt")('abc', 'de.txt')os.path.split("abc")(", 'abc')print os.path.split("de/abc/de")('de/abc', 'de')4: os.path.splitext(filename)把⽂件名分成⽂件名称和扩展名os.path.splitext(abc/abcd.txt)('abc/abcd', '.txt')5: os.path.dirname(path)把⽬录名提出来print os.path.dirname("abc")#输出为空print os.path.dirname('abc\def')abc6: os.path.basename(filename)取得主⽂件名print os.path.basename('abc')abcprint os.path.basename('abc.txt')abcprint os.path.basename('bcd/abc')abc #这个需要注意不包括⽬录名称print os.path.basename('.').7:os.mkdir(path, [mode])path为⽬录名:这⾥有个要求,只能创建⼀级⽬录⽐如path为 abc/def 则当前⽬录下必须存在abc 否则失败8: os.makedirs(path [,mode])可以创建多级⽬录9:os.remove(path)删除⼀个⽂件,⼀定是⼀个⽂件os.removedirs(path) 删除⼀个⽬录下所有东西os.rmdir(path) 删除⼀个⽬录,⽽且⼀定要空,否则os.errer10:os.walk(path)遍历path,返回⼀个对象,他的每个部分都是⼀个三元组('⽬录x',[⽬录x下的⽬录list],⽬录x下⾯的⽂件)举例:a = os.walk('.')for i in a:print i11:shutil.copy(src,dst)把⽂件src内容拷贝到⽂件dst中。

Python学习--文件操作(2)

Python学习--文件操作(2)

Python‎文件操作--目录的基本操‎作目录是文件存‎储的集合,对目录的操作‎包括目录的创‎建,删除,和目录的遍历‎等内容。

os模块提供‎了对目录进行‎操作的函数,如下:【1】mkdir(path [, mode = 0777])创建path‎指定的一个目‎录【2】makedi‎r s(name, mode = 511)创建多级目录‎,n ame为“path1/path2/...”【3】rmdir(path)删除path‎指定的目录【4】remove‎d irs(paths)删除path‎指定的多级目‎录【5】listdi‎r(path)返回path‎指定目录下的‎所有文件【6】getcwd‎()返回当前工作‎目录【7】chdir(path)将当前目录改‎变为path‎指定的目录【8】walk(top, topdow‎n=ture,onerro‎r = none)遍历目录树示例:import‎osos.mkdir("hello")os.rmdir("hello")os.makedi‎r s("hello/world")os.remove‎d irs("hello/world")目录的遍历目录的遍历有‎3种方法,(1)递归函数 (2)os.path.walk() (3)os.walk()【1】递归函数【2】os.path.walk()os.path.walk()的声明如下:walk(top, func, arg)(1)top表示要‎遍历的目录树‎的路径(2)参数func‎表示回调函数‎,对遍历路径进‎行处理。

所谓回调函数‎是指最为某个‎函数的参数使‎用,当某个事件触‎发时,程序将调用某‎个定义好的回‎调函数处理某‎个任务,回调函数必须‎提供三个参数‎:第一个是wa‎l k()的参数,第二个是目录‎列表,第三个是文件‎列表。

自动化生成文档目录的Python技巧

自动化生成文档目录的Python技巧

自动化生成文档目录的Python技巧在当今数字化的时代,我们经常需要处理大量的文档。

无论是编写技术报告、学术论文,还是整理项目文档,一个清晰的目录都能极大地提高文档的可读性和易用性。

手动创建目录不仅费时费力,还容易出错。

幸运的是,Python 为我们提供了强大的工具和技巧,能够轻松实现文档目录的自动化生成。

在开始之前,我们需要先了解文档目录的基本结构。

通常,目录包含了文档中各个章节、标题以及对应的页码。

为了能够准确地提取这些信息,我们需要对文档的内容进行分析和处理。

Python 中有许多库可以帮助我们完成这个任务,其中最常用的是`docx` 库。

如果我们处理的是 Word 文档,首先需要安装`docx` 库。

可以通过以下命令使用`pip` 进行安装:```pip install pythondocx``````pythonimport docxdef extract_titles_from_docx(file_path):doc = docxDocument(file_path)titles =for paragraph in docparagraphs:if paragraphstylenamestartswith('Heading'):titlesappend(paragraphtext)return titles```在上述代码中,我们定义了一个名为`extract_titles_from_docx` 的函数,它接受一个文件路径作为参数。

通过读取文档中的段落,并检查段落的样式是否以`Heading` 开头,来确定是否为标题。

接下来,我们需要获取每个标题对应的页码。

这稍微有点复杂,因为我们需要遍历整个文档的内容来计算。

不过,我们可以通过一些巧妙的方法来实现。

```pythondef get_page_numbers_of_titles(doc):page_numbers ={}current_page = 1for paragraph in docparagraphs:if paragraphtext =='':current_page += 1elif paragraphstylenamestartswith('Heading'):page_numbersparagraphtext = current_pagereturn page_numbers```有了标题和对应的页码,我们就可以生成目录了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

python文件和目录操作方法大全(含实例)这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块、方法,并列举了一个综合实例,需要的朋友可以参考下一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。

1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r“c:\python”)5.检验给出的路径是否是一个文件:os.path.isfile()6.检验给出的路径是否是一个目录:os.path.isdir()7.判断是否是绝对路径:os.path.isabs()8.检验给出的路径是否真地存:os.path.exists()9.返回一个路径的目录名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')10.分离扩展名:os.path.splitext()11.获取路径名:os.path.dirname()12.获取文件名:os.path.basename()13.运行shell命令: os.system()14.读取和设置环境变量:os.getenv() 与os.putenv()15.给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'16.指示你正在使用的平台: 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'17.重命名:os.rename(old,new)18.创建多级目录:os.makedirs(r“c:\python\test”)19.创建单个目录:os.mkdir(“test”)20.获取文件属性:os.stat(file)21.修改文件权限与时间戳:os.chmod(file)22.终止当前进程:os.exit()23.获取文件大小:os.path.getsize(filename)二、文件操作方法大全:1.os.mknod("test.txt") #创建空文件2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件3.关于open 模式:复制代码代码如下:w:以写方式打开,a:以追加模式打开(从EOF 开始, 必要时创建新文件)r+:以读写模式打开w+:以读写模式打开(参见w )a+:以读写模式打开(参见a )rb:以二进制读模式打开wb:以二进制写模式打开(参见w )ab:以二进制追加模式打开(参见a )rb+:以二进制读写模式打开(参见r+ )wb+:以二进制读写模式打开(参见w+ )ab+:以二进制读写模式打开(参见a+ )fp.read([size]) #size为读取的长度,以byte为单位fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。

其实它的内部是通过循环调用readline()来实现的。

如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。

这个函数也只是忠实地写入,不会在每行后面加上任何东西。

fp.close() #关闭文件。

python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。

如果一个文件在关闭后还对其进行操作会产生ValueErrorfp.flush() #把缓冲区的内容写入硬盘fp.fileno() #返回一个长整型的”文件标签“fp.isatty() #文件是否是一个终端设备文件(unix系统中的)fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点fp.next() #返回下一行,并将文件操作标记位移到下一行。

把一个file用于for …in file这样的语句时,就是调用next()函数来实现遍历的。

fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。

这个offset一般是相对于文件的开头来计算的,一般为正数。

但如果提供了whence参数就不一定了,whence 可以为0表示从头开始计算,1表示以当前位置为原点计算。

2表示以文件末尾为原点进行计算。

需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。

如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

三、目录操作方法大全1.创建目录os.mkdir("file")2.复制文件:shutil.copyfile("oldfile","newfile") #oldfile和newfile都只能是文件shutil.copy("oldfile","newfile") #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录3.复制文件夹:4.shutil.copytree("olddir","newdir") #olddir和newdir都只能是目录,且newdir必须不存在5.重命名文件(目录)os.rename("oldname","newname") #文件或目录都是使用这条命令6.移动文件(目录)shutil.move("oldpos","newpos")7.删除文件os.remove("file")8.删除目录os.rmdir("dir") #只能删除空目录shutil.rmtree("dir") #空目录、有内容的目录都可以删9.转换目录os.chdir("path") #换路径四、文件综合操作实例将文件夹下所有图片名称加上'_fc'python代码:复制代码代码如下:# -*- coding:utf-8 -*-import reimport osimport time#str.split(string)分割字符串#'连接符'.join(list) 将列表组成字符串def change_name(path):global iif not os.path.isdir(path) and not os.path.isfile(path):return Falseif os.path.isfile(path):file_path = os.path.split(path) #分割出目录与文件lists = file_path[1].split('.') #分割出文件与文件扩展名file_ext = lists[-1] #取出后缀名(列表切片操作)img_ext = ['bmp','jpeg','gif','psd','png','jpg']if file_ext in img_ext:os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)i+=1 #注意这里的i是一个陷阱#或者#img_ext = 'bmp|jpeg|gif|psd|png|jpg'#if file_ext in img_ext:# print('ok---'+file_ext)elif os.path.isdir(path):for x in os.listdir(path):change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用img_dir = 'D:\\xx\\xx\\images'img_dir = img_dir.replace('\\','/')start = time.time()i = 0change_name(img_dir)c = time.time() - startprint('程序运行耗时:%0.2f'%(c))print('总共处理了%s 张图片'%(i))输出结果:复制代码代码如下:程序运行耗时:0.11总共处理了109 张图片。

相关文档
最新文档