在python文件和目录操作中什么方法获得当前工作目录,python在当前目录及当前目录下的文件

  在python文件和目录操作中什么方法获得当前工作目录,python在当前目录及当前目录下的文件

  Yyds干货库存

  Python中文件目录的操作一、前言二、os和os.path模块三、路径一、相对路径二、绝对路径三、拼接路径四、判断目录是否存在五、创建目录一、创建一级目录二、创建多级目录六、删除目录七、遍历目录一、前言目录也叫文件夹,是用来分层存放文件的。文件可以通过目录存储在不同的类别中。我们也可以通过目录快速找到想要的文件。在Python中,没有直接操作目录的函数或对象,而是需要通过内置的os和os.path模块来实现。

  说明:os模块是Python内置的与操作系统函数和文件系统相关的模块。该模块中语句的执行结果通常与操作系统有关。在不同的操作系统上运行可能会产生不同的结果。

  常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录。

  注:本文内容均以Windows操作系统为例进行介绍,因此代码的执行结果也显示在Windows操作系统下。

  二。Python中的os和os.path模块,内置os模块及其子模块os.path来操作目录或文件。使用os模块或os.path模块时,需要先应用import语句导入,然后才能应用它们提供的函数或变量。

  以下代码可用于导入操作系统模块:

  导入说明:os模块导入后,子模块os.path也可以使用。

  导入os模块后,可以使用该模块提供的通用变量来获取与系统相关的信息。常用变量如下:

  名称:用于获取操作系统类型。例如,要获取系统类型,您可以输入以下代码:

  导入操作系统

  system_type=os.name

  Print(system_type)运行上面的代码,会显示如图所示的结果:

  注意:如果os.name的输出结果是nt,说明是Windows操作系统;如果是posix,则表示Linux、Unix或Mac OS操作系统。

  Sep:用于获取当前操作系统使用的路径分隔符。

  例如,在Windows操作系统下输入os.sep将显示如图所示的结果:

  Lines:用于在当前操作系统中获取换行符。例如,在Windows操作系统下输入os.linesep将显示如图所示的结果:

  Os模块还提供了一些操作目录的功能,如下表所示:

  功能

  解释

  getcwd()

  返回当前工作目录

  列表目录(路径)

  返回指定路径下的文件和目录信息。

  mkdir(路径[,模式])

  创建目录

  mkdir(路径1/路径2……[,模式])

  创建多级目录。

  rmdir(路径)

  删除目录

  removedirs((路径1/路径2……)

  删除多级目录

  目录(路径)

  设置当前工作目录的路径。

  walk(top[,topdown[,onerror]])

  遍历目录树,这个方法返回一个元组,它包含所有路径名、所有目录列表和文件列表。

  Os.path模块还提供了一些操作目录的函数,如下表所示:

  功能

  解释

  abspath(路径)

  获取文件或目录的绝对路径。

  存在(路径)

  用于判断目录或文件是否存在,如果存在,返回True;否则,将返回False

  加入(路径,名称)

  用目录或文件名连接目录。

  splitext()

  分开文件名和扩展名

  基本名称(路径)

  从目录中提取文件名

  目录名(路径)

  从一个路径中提取文件路径,不包括文件名。

  isdir(路径)

  用于确定它是否是路径。

  3.用于定位文件或目录的字符串称为路径。在程序开发中,通常会涉及到两条路径,一条是相对路径,一条是绝对路径。

  1.相对路径在学习相对路径之前,你需要知道当前的工作目录是什么。当前工作目录是指当前文件所在的目录。在Python中,可以通过os模块提供的getcwd()函数获取当前工作目录。例如,在“D:\Python\test.py”文件中,编写代码:

  导入操作系统

  Print(os.getcwd()) #输出当前目录执行上述代码后,会显示以下目录,这是当前工作目录:

  D:\Python相对路径取决于当前工作目录。如果当前工作目录下有一个名为message.txt的文件,当你打开这个文件时,可以直接写文件名,这个文件名就是相对路径。message.txt文件的实际路径是当前工作目录 D:\Python 相对路径 message.txt ,即 D:\Python\test.py

  如果当前工作目录下有一个子目录demo,并且这个子目录下保存了文件message.txt,那么打开这个文件时可以写“demo/message.txt”,比如下面的代码:

  用( demo/message.txt )作为file #通过相对路径打开文件。

  Pass描述:在Python中,指定文件路径时,需要对路径分隔符“\”进行转义,即将路径中的“\”替换为“\”。比如你需要用 demo\message.txt 而不是 demo\message.txt 。或者,路径分隔符“\”可以替换为“/”。

  再学两招:指定文件路径时,也可以在代表路径的字符串前面加上字母R(或R),那么字符串就按原样输出,然后路径中的分隔符就不需要转义了。例如,上面的代码可以修改以下内容:

  用(r demo \ message.txt )作为file #通过相对路径打开文件。

  2.绝对路径绝对路径是指在使用文件时指定文件的实际路径,它不依赖于当前的工作目录。在Python中,可以通过os.path模块提供的abspath()函数获取文件的绝对路径。abspath()函数的基本语法格式如下:

  例如,要获得相对路径 demo\message.txt 的绝对路径,可以使用下面的代码:

  导入操作系统

  print(OS . path . abspath(r demo \ message . txt )#获取绝对路径如果当前工作目录是 D:\Python ,那么会得到以下结果:

  D:\Python\demo\message.txt3 .拼接路径如果想将两条或多条路径拼接在一起形成一条新路径,可以使用os.path模块提供的join()函数。join()函数的基本语法格式如下:

  OS.path.join (path1 [,path2 [,……]]),其中path1和path2用于表示要拼接的文件路径,这些路径之间用逗号分隔。如果要拼接的路径中没有绝对路径,则最终拼接的路径将是绝对路径。

  注意:使用os.path.join()函数拼接路径时,不会检查路径是否存在。

  例如,如果需要将“D:\Python”和“demo\message.txt”路径拼接在一起,可以使用以下代码:

  导入操作系统

  Print (os.path.join (d: \ python , demo \ message.txt )执行上面的代码,会得到以下结果:

  D:\Python\demo\message.txt说明:使用join()函数时,如果要拼接的路径中有多条绝对路径,则以从左到右顺序中的最后一条为准,忽略该路径之前的所有参数,如下面的代码:

  导入操作系统

  Print (os.path.join (e: \ \ code , d: \ \ python , code , c: \ , demo )将得到拼接后的路径为 C:\demo 。

  将两条路径拼接成一条路径时,不要直接使用字符串拼接,而是使用os.path.join()函数,该函数可以正确处理不同操作系统的路径分隔符。

  四。判断Python中是否存在该目录。有时需要判断给定的目录是否存在。此时可以通过使用os.path模块提供的exists()函数来实现。exists()函数的基本语法格式如下:

  Os.path.exists(path),其中path是要判断的目录,但可以是绝对路径,也可以是相对路径。

  返回值:如果给定路径存在,则返回True,否则返回False。

  例如,要确定绝对路径“C:\demo”是否存在,可以使用以下代码:

  导入操作系统

  Print(os.path.exists(C:\\demo ))执行上述代码,如果c盘根目录下没有demo子目录,则返回False,否则返回True。

  说明:os.path.exists()函数可以判断目录是否存在,也可以判断文件是否存在。例如,将上面的“C:\demo”替换为“C:\demo\test.txt”用于确定C:\demo\test.txt文件是否存在。

  动词(verb的缩写)创建目录在Python中,os模块提供了两个创建目录的函数,一个创建一级目录,一个创建多级目录。

  1.创建一级目录意味着一次只能创建一级目录。在Python中,可以使用os模块提供的mkdir()函数来实现。此功能只能创建指定路径中的最后一级目录。如果此目录的前一级不存在,将引发FileNotFoundError异常。mkdir()函数的基本语法格式如下:

  Os.mkdir(path,mode=0777)参数描述:

  路径:用于指定要创建的目录。您可以使用绝对路径或相对路径。Mode:用于指定指定的数值模式,默认值为0777。在UNIX系统上,此参数无效或被忽略。例如,要在Windows系统上创建C:\demo目录,可以使用以下代码:

  导入操作系统

  Os.mkdir(C:\\demo )执行上述代码,将在c盘根目录下创建一个demo目录,如下图所示:

  如果创建路径时演示目录已经存在,将引发FileNotFoundError异常,如下图所示:

  要解决上述问题,可以在创建目录前判断指定的目录是否存在,不存在时才创建。具体代码如下:

  导入操作系统

  Path=C:\\demo #指定要创建的目录

  如果OS.path.exists (path): #确定该目录是否存在。

  Os.mkdir(路径)#创建目录

  打印(“目录创建成功”)

  否则:

  Print(该目录已经存在)注意:如果指定的目录有多级,并且最后一级的上一级目录中没有FileNotFoundError,创建不成功,那么可以使用创建多级目录的方法。

  2.创建多级目录使用mkdir()函数只能创建一级目录。如果要创建多级,可以使用os模块提供的makedirs()函数,用于递归创建目录。makedirs()函数的基本语法如下:

  操作系统。makedirs (path,mode=0777)参数描述:

  路径:用于指定要创建的目录。您可以使用绝对路径或相对路径。Mode:用于指定指定的数值模式,默认值为0777。在UNIX系统上,此参数无效或被忽略。在Windows系统中,我们只是在c盘的根目录下创建了一个demo目录,然后创建了子目录test \ dir \ Mr,可以使用下面的代码:

  导入操作系统

  OS。make dirs( C:\ \ demo \ \ test \ \ dir \ \ Mr )执行上述代码,并将创建如下图所示的目录:

  不及物动词删除目录删除目录可以通过使用os模块提供的rmdir()函数来实现。通过rmdir()函数删除目录时,只有当要删除的目录为空时才起作用。rmdir()函数的基本语法格式如下:

  Os.rmdir(path),其中path是要删除的目录。您可以使用相对路径或绝对路径。

  例如,要删除刚刚创建的C:\demo\test\dir\mr目录,可以使用下面的代码:

  导入操作系统

  OS . rmdir( C:\\demo\\test\\dir\\mr )#删除C:\ \ demo \ \ test \ \ dir \ \ Mr目录。运行上面的代码会删除C:\demo\test\dir目录下的Mr目录。

  注意:如果要删除的目录不存在,将抛出“找不到文件错误:[WinError 2]系统找不到指定的文件”。不正常。所以在执行os.rmdir()函数之前,建议先判断路径是否存在。可以用os.path.exists()函数来判断。具体代码如下:

  导入操作系统

  path=C:\\demo\\test\\dir\\mr

  如果不是os.path.exists(path):

  os.rmdir(路径)

  打印(“成功删除”)

  否则:

  打印(此目录不存在)再学两招:使用rmdir()函数只能删除空目录。如果要删除非空目录,需要使用Python内置的标准模块shutil的rmtree()函数。例如,要删除非空的“C:\demo\test”目录,可以使用以下代码:

  导入技能

  shuttil . RM tree( C:\ \ demo \ \ test )#删除C:\demo目录中的测试子目录及其内容。七。穿越目录在古代汉语中的意思是走遍四周,游历四方。在Python中,遍历的意义类似于浏览指定目录下的所有目录(包括子目录)和文件。在Python中,os模块的walk()函数用于遍历目录。walk()函数的语法格式如下:

  Os.walk (top [,top down] [,on error] [,followlinks])参数描述:

  Top:用于指定要遍历的内容的根目录。Topdown:可选参数,用于指定遍历顺序。如果值为True,则表示从上到下遍历(即先遍历根目录);如果值为False,则表示自底向上遍历(最后一级子目录)。默认值为True。Error:可选参数,用于指定错误处理方法,默认情况下忽略。如果不想忽略它,还可以指定一个错误处理函数。通常采用默认。Followlinks:可选参数。默认情况下,walk()函数不会被向下转换为解析到目录的符号链接。将此参数的值设置为True表示它用于指定在支持的系统上访问符号链接所指向的目录。返回值:返回包含3个元素(目录路径,目录名,文件名)的元组生成器对象。其中dirpath表示当前遍历的路径,是一个字符串;Dirnames表示当前路径中包含的子目录,是一个列表;Filename表示当前路径中包含的文件,它也是一个列表。例如,要遍历指定的目录“D:\Python\Code”,可以使用以下代码:

  导入操作系统#导入操作系统模块

  tuples=OS . walk( D:\ \ Python \ \ Code )# Traverse D:\ Python \ Code \ 01

  对于元组中的tuple 1:#通过循环遍历结果。

  Print(tuple1, \n) #输出每一级目录元组。如果,目录“D:\Python\Code”包含如图所示的内容:

  执行上述代码,将显示下图所示的结果:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python文件路径操作方法总结怎么写,python文件路径操作方法总结表,python文件路径操作方法总结
  • python文件路径操作方法总结怎么写,python文件路径操作方法总结图
  • ,,PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
  • python文件加密存储,python通过文件读写,复制图片
  • python文件打开的默认方式是只读,python以只读方式打开文本文件的参数
  • python文件读写,python将数据写入文件和从文件读取
  • 怎么把python文件变成可执行exe,python将py文件编译成exe文件
  • 打开python文件的两种方式,python文件是怎么打开
  • python文件操作write,python文件write函数的用法
  • linux如何编译python文件,linux上python编译器
  • python打不开文件怎么回事,做好的python文件直接打开怎么不能用
  • python中绝对路径,python文件相对路径怎么写
  • python对文件的操作方法有哪些,python文件的基本操作
  • python关于文件的题目,python文件概述
  • python文件可以直接运行吗,python直接运行
  • 留言与评论(共有 条评论)
       
    验证码: