目录常用的函数使用格局,介绍二个光辉上的东西

By admin in 4858.com on 2019年4月22日

目录:

python基础:os模块中关于文件/目录常用的函数使用办法,

Python是跨平台的语言,相当于说同样的源代码在差异的操作系统不供给修改就能够一如既往实现因而Python的我就倒腾了OS模块这么3个玩具出来,有了OS模块,我们不须求关心什么操作系统下利用什么模块,OS模块会帮您选拔精确的模块并调用

 
os模块中有关文件/目录常用的函数使用办法**os.path模块中关于路线常用的函数使用办法目录常用的函数使用格局,介绍二个光辉上的东西。**

函数名

利用格局

getcwd()

回来当前专门的学业目录

chdir(path)

改变职业目录

listdir(path=’.’)

列举钦赐目录中的文件名(’.’代表当前目录,’..’代表上一级目录)

mkdir(path)

创办单层目录,如该目录已存在抛出十分

makedirs(path)

递归创制多层目录,如该目录已存在抛出至极,注意:’E:\\a\\b’和’E:\\a\\c’并不会争辨

remove(path)

去除文件

rmdir(path)

删去单层目录,如该目录非空则抛出特别

removedirs(path)

递归删除目录,从子目录到父目录逐层尝试删除,境遇目录非空则抛出越发

rename(old, new)

将文件old重命名称为new

system(command)

运作体系的shell命令

walk(top)

遍历top路线以下有所的子目录,再次回到三个安慕希组:(路线, [含有目录],
[含蓄文件])【具体贯彻方案请看:第二0讲课后作业^_^】

以下是支撑路线操作中常用到的有个别概念,支持具有平台

os.curdir

代替他当前目录(’.’)

os.pardir

代表上一流目录(’..’)

os.sep

出口操作系统特定的门路分隔符(Win下为’\\’,Linux下为’/’)

os.linesep

现阶段平台选择的行终止符(Win下为’\r\n’,Linux下为’\n’)

os.name

代表当前应用的操作系统(包含:’posix’,  ‘nt’, ‘mac’, ‘os二’, ‘ce’,
‘java’)

函数名

使用格局

basename(path)

去掉目录路线,单独重临文件名

dirname(path)

去掉文件名,单独重回目录路线

join(path1[, path2[, …]])

将path一, path二各部分组合成一个门道名

split(path)

划分文件名与路线,再次来到(f_path,
f_name)元组。假如完全采用目录,它也会将末了二个索引作为文件名分别,且不会决断文件恐怕目录是否留存

splitext(path)

分别文件名与强大名,重临(f_name, f_extension)元组

getsize(file)

回去钦赐文件的尺码,单位是字节

getatime(file)

回来钦命文件近期的拜会时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

getctime(file)

归来钦命文件的成立时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

getmtime(file)

重临钦点文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

以下为函数重返 True 或 False

exists(path)

推断内定路径(目录或文件)是或不是存在

isabs(path)

剖断钦定路线是还是不是为绝对路线

isdir(path)

认清内定路径是或不是留存且是一个索引

isfile(path)

判别钦定路径是不是留存且是一个文件

islink(path)

剖断钦定路径是或不是存在且是贰个符号链接

ismount(path)

认清钦点路径是还是不是留存且是一个挂载点

samefile(path1, paht2)

推断path一和path②三个门路是还是不是针对同3个文本

 

Python是跨平台的言语,也便是说同样的源代码在不一样的操作系统不供给修改就足以…

Python是跨平台的言语,也正是说同样的源代码在分裂的操作系统不需求修改就足以一样完成因此Python的作者就倒腾了OS模块这么3个玩具出来,有了OS模块,我们不供给关注什么操作系统下使用什么模块,OS模块会帮您选取准确的模块并调用

os模块中关于文件/目录常用的函数使用方法

  一、os模块中关于文件/目录常用的函数使用办法

 

函数名

  2、os.path模块中有关路径常用的函数使用办法

os模块中关于文件/目录常用的函数使用办法**os.path模块中关于路径常用的函数使用方法**

采用格局

  三、课时30课后习题及答案

函数名

getcwd()

 

利用格局

4858.com,归来当前工作目录

接下去会介绍跟Python的公文有关的一些很有用的模块。模块是怎样?其实大家写的每3个源代码文件(*.py)都是1个模块。Python自个儿带有尤其多选拔的模块。

getcwd()

chdir(path)

比方说刚开始介绍的文字小游戏,里边就用random模块的randint()函数来生成随机数。然则要使用那些randint()函数,直接就调用可不行:

回去当前职业目录

更动专业目录

>>> random.randint(0,9)

Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    random.randint(0,9)
NameError: name 'random' is not defined

chdir(path)

listdir(path=’.’)

不错的做法是先利用import语句导入模块,然后再选拔:

改变专业目录

列举钦命目录中的文件名(’.’代表当前目录,’..’代表上一流目录)

>>> import random

>>> random.randint(0,9)

3
>>> random.randint(0,9)

0
>>> random.randint(0,9)

7

listdir(path=’.’)

mkdir(path)

 

历数钦点目录中的文件名(’.’表示当前目录,’..’代表上顶尖目录)

创建单层目录,如该目录已存在抛出卓殊

*******************************************************

mkdir(path)

makedirs(path)

壹、os模块中关于文件/目录常用的函数使用情势

创办单层目录,如该目录已存在抛出相当

递归创造多层目录,如该目录已存在抛出万分,注意:’E:\\a\\b’和’E:\\a\\c’并不会争论

*******************************************************

makedirs(path)

remove(path)

首先要介绍的是宏伟上的OS模块,OS即Operating
System的缩写,意思是操作系统。之所以说OS模块高大上,是因为对此文件系统的拜会,Python一般是由此OS模块来落到实处的。

递归创设多层目录,如该目录已存在抛出卓殊,注意:’E:\\a\\b’和’E:\\a\\c’并不会争执

删除文件

Python是跨平台的言语,也等于说,同样的源代码在分化的操作系统不必要修改就可以同样完结。有了OS模块,不要求关心什么操作系统下行使什么模块,OS模块会帮您选拔准确的模块并调用。

remove(path)

rmdir(path)

下表列举了os模块中有关文件/目录常用的函数使用方法:

删去文件

剔除单层目录,如该目录非空则抛出相当

函数名                 使用方法
getcwd()             返回当前工作目录
chdir(path)           改变工作目录
listdir(path='.')       列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录)
mkdir(path)           创建单层目录,如该目录已存在抛出异常
makedirs(path)         递归创建多层目录,如该目录已存在抛出异常,注意:'E:\\a\\b'和'E:\\a\\c'并不会冲突
remove(path)          删除文件
rmdir(path)           删除单层目录,如该目录非空则抛出异常
removedirs(path)        递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
rename(old, new)        将文件old重命名为new
system(command)        运行系统的shell命令
walk(top)            遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])【具体实现方案请看:第30讲课后作业^_^】

以下是支持路径操作中常用到的一些定义,支持所有平台    
os.curdir            指代当前目录('.')
os.pardir            指代上一级目录('..')
os.sep               输出操作系统特定的路径分隔符(Win下为'\\',Linux下为'/')
os.linesep           当前平台使用的行终止符(Win下为'\r\n',Linux下为'\n')
os.name             指代当前使用的操作系统(包括:'posix',  'nt', 'mac', 'os2', 'ce', 'java')

rmdir(path)

removedirs(path)

 

删去单层目录,如该目录非空则抛出特别

递归删除目录,从子目录到父目录逐层尝试删除,境遇目录非空则抛出越发

1、getcwd()

removedirs(path)

rename(old, new)

在有点情状下,大家供给取得应用程序当前的专门的学业目录(举个例子要保存目前文件),那么能够选拔getcwd()函数得到:

递归删除目录,从子目录到父目录逐层尝试删除,蒙受目录非空则抛出11分

将文件old重命名称叫new

>>> import os

>>> os.getcwd()

'C:\\Users\\14158\\AppData\\Local\\Programs\\Python\\Python37'

rename(old, new)

system(command)

 

将文件old重命名字为new

运作种类的shell命令

2、chdir(path)

system(command)

walk(top)

用chdir()函数能够更改当前专门的学问目录,举例可以切换来D盘:

运转系统的shell命令

遍历top路线以下有所的子目录,返回1个长富组:(路线, [涵盖目录],
[蕴含文件])【具体贯彻方案请看:第贰0讲课后作业^_^】

>>> os.chdir("D:\\")

>>> os.getcwd()

'D:\\'

walk(top)

以下是帮忙路线操作中常用到的壹对定义,帮助具有平台

 

遍历top路径以下有所的子目录,重返1个雅士利组:(路径,
[含蓄目录],
[饱含文件])【具体贯彻方案请看:第二0讲课后作业^_^】

os.curdir

3、listdir(path=’.’)

以下是帮助路径操作中常用到的有的定义,援助具有平台

代替当前目录(’.’)

有时候你可能必要掌握当前目录下有哪些文件和子目录,那么listdir()函数能够帮你罗列出来。path参数用于钦点列举的目录,暗中认可值是’.’,代表根目录,也足以运用’..’代表上1层目录:

os.curdir

os.pardir

 

代替当前目录(’.’)

替代上一级目录(’..’)

>>> os.chdir("C:\\")

>>> os.listdir()

['$Recycle.Bin', 'aow_drv.log', 'AppData', 'Documents and Settings', 'hiberfil.sys', 'Intel', 'OneDriveTemp', 'pagefile.sys', 'pbb.txt', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Recovery', 'swapfile.sys', 'System Volume Information', 'Users', 'Windows']
>>> os.listdir("D:\\")

['$RECYCLE.BIN', 'bigdata', 'Hlddz', 'InstallConfig.ini', 'JAVA', 'QQ图片20180728154834.jpg', 'QQ图片20180728155014.jpg', 'qycache', 'rhel-server-7.4-x86_64-dvd.iso', 'System Volume Information', 'ubuntu-18.04-live-server-amd64.iso', '大二上', '安装包', '小甲鱼', '应用程序', '桌面壁纸']

os.pardir

os.sep

 

代替上拔尖目录(’..’)

输出操作系统特定的路径分隔符(Win下为’\\’,Linux下为’/’)

4、mkdir(path)

os.sep

os.linesep

mkdir()函数用于创造文件夹,假设该文件夹存在,则抛出FileExistsError相当:

出口操作系统特定的路子分隔符(Win下为’\\’,Linux下为’/’)

此时此刻平台接纳的行终止符(Win下为’\r\n’,Linux下为’\n’)

>>> os.mkdir("test")

>>> os.listdir()

['$Recycle.Bin', 'aow_drv.log', 'AppData', 'Documents and Settings', 'hiberfil.sys', 'Intel', 'OneDriveTemp', 'pagefile.sys', 'pbb.txt', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Recovery', 'swapfile.sys', 'System Volume Information', 'test', 'Users', 'Windows']
>>> os.mkdir("test")

Traceback (most recent call last):
  File "<pyshell#57>", line 1, in <module>
    os.mkdir("test")
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'test'

os.linesep

os.name

 

日前平台应用的行终止符(Win下为’\r\n’,Linux下为’\n’)

代替他当前使用的操作系统(包括:’posix’,  ‘nt’, ‘mac’, ‘os二’, ‘ce’,
‘java’)

5、makedirs(path)

os.name

os.path模块中关于路线常用的函数使用方式

makedirs()函数能够用来创设多层目录:

取代当前选拔的操作系统(包罗:’posix’,  ‘nt’,
‘mac’, ‘os2’, ‘ce’, ‘java’)

函数名

>>> os.makedirs(r".\a\b\c")

函数名

接纳办法

效益如图所示:

利用办法

basename(path)

4858.com 1

basename(path)

去掉目录路线,单独再次来到文件名

 

去掉目录路线,单独重回文件名

dirname(path)

6、remove(path)、rmdir(path)
和removedirs(path)  

dirname(path)

去掉文件名,单独重返目录路线

remove()函数用于删除钦命的文件,注意是删除文件,不是删除目录。假使要刨除目录,则用rmdir()函数;假如要删减多层目录,则用removedirs()函数。

去掉文件名,单独再次回到目录路线

join(path1[, path2[, …]])

>>> os.listdir()                              
['$Recycle.Bin', 'a', 'aow_drv.log', 'AppData', 'b', 'Documents and Settings', 'hiberfil.sys', 'Intel', 'OneDriveTemp', 'pagefile.sys', 'pbb.txt', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Recovery', 'swapfile.sys', 'System Volume Information', 'test', 'Users', 'Windows']
>>> os.remove("test")                             
>>> os.rmdir("b")
>>> os.removedirs(r".\a\b\c")

join(path1[, path2[,
…]])

将path1, path贰各部分组合成一个路线名

注:在C盘有相当的大可能率会报错,未有权力。

将path壹,
path贰各部分组合成八个路径名

split(path)

 

split(path)

分开文件名与门路,再次回到(f_path,
f_name)元组。假使完全使用目录,它也会将最后二个索引作为文件名分别,且不会判别文件或然目录是不是留存

7、rename(old,new)

划分文件名与路线,重回(f_path,
f_name)元组。要是完全使用目录,它也会将最后一个索引作为文件名分别,且不会判别文件或许目录是不是留存

splitext(path)

rename()函数用于重命名文件或文件夹:

splitext(path)

分别文件名与庞大名,再次回到(f_name, f_extension)元组

>>> os.listdir()
['a','a.txt']                              
>>> os.rename("a","b")
>>> os.rename("a.txt","b.txt")                           
>>> os.listdir()
['b','b.txt']  

分手文件名与扩展名,再次来到(f_name,
f_extension)元组

getsize(file)

 

getsize(file)

重返钦定文件的尺寸,单位是字节

8、systemf(command)

回去钦赐文件的尺寸,单位是字节

getatime(file)

差不离种种操作系统都会提供部分小工具,system()函数正是用来选用这几个小工具:

getatime(file)

再次回到内定文件方今的拜访时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

>>> os.system("calc")#calc是windows自带的计算器

回到钦点文件目前的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

getctime(file)

回车后即弹出总计器。

getctime(file)

归来钦命文件的创制即间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

 

再次回到钦赐文件的创办时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

getmtime(file)

9、walk(top)

getmtime(file)

回到钦命文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

末段是walk()函数,那几个函数在稍微时候实在特别有用,能够省去你多多劳动。该函数的效果是遍历top参数钦赐路径下的全部子目录,并将结果重返三个雅士利组(路线,[饱含目录],[富含文件])。

回到钦定文件最新的改换时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

以下为函数再次回到 True 或 False

>>> for i in os.walk("test"):
         print(i)    

以下为函数重临 True 或 False

exists(path)

 

exists(path)

推断钦赐路径(目录或文件)是或不是留存

除此以外path模块还提供了有的很实用的概念,分别是:os.curdir代表当前目录;os.pardir表示上一流目录(’..’);os.sep表示路线的分隔符,比方Windows系统下为‘\\’,linux下为‘\’;os.linesep表示近年来平台选拔的行终止符(在Windows下为‘\r\n’,Linux下为‘\n’);os.name代表目前使用的操作系统。

看清钦定路径(目录或文件)是还是不是存在

isabs(path)

 

isabs(path)

认清钦赐路线是或不是为相对路线

*******************************************************

判别内定路径是或不是为相对路线

isdir(path)

二、os.path模块中关于路线常用的函数使用方法

isdir(path)

判别钦命路径是或不是留存且是3个目录

*******************************************************

看清钦定路径是还是不是存在且是二个目录

isfile(path)

 另3个有力的板块是os.pash,它能够完结都部队分针对路线名的操作。下表列举了os.pash中常用到的函数使用格局。

isfile(path)

推断钦定路径是还是不是存在且是1个文本

函数名                          使用方法
basename(path)                    去掉目录路径,单独返回文件名
dirname(path)                     去掉文件名,单独返回目录路径
join(path1[, path2[, ...]])            将path1, path2各部分组合成一个路径名
split(path)                      分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
splitext(path)                    分离文件名与扩展名,返回(f_name, f_extension)元组
getsize(file)                     返回指定文件的尺寸,单位是字节
getatime(file)                    返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getctime(file)                    返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getmtime(file)                    返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)

以下为函数返回 True 或 False    
exists(path)                      判断指定路径(目录或文件)是否存在
isabs(path)                       判断指定路径是否为绝对路径
isdir(path)                       判断指定路径是否存在且是一个目录
isfile(path)                      判断指定路径是否存在且是一个文件
islink(path)                      判断指定路径是否存在且是一个符号链接
ismount(path)                      判断指定路径是否存在且是一个挂载点
samefile(path1, paht2)                判断path1和path2两个路径是否指向同一个文件

认清钦命路径是不是留存且是1个文书

islink(path)

 

islink(path)

判断钦命路径是或不是存在且是八个标识链接

1、basename(pash)和dirname(path)

决断钦命路径是还是不是存在且是一个标识链接

ismount(path)

basename(pash)和dirname(path)函数分别用于获取文件名和路线名:

ismount(path)

认清内定路径是不是留存且是二个挂载点

>>> os.path.dirname(r"a\b\test.txt")

'a\\b'
>>> os.path.basename(r"a\b\test.txt")

'test.txt'

决断钦点路径是或不是留存且是五个挂载点

samefile(path1, paht2)

 

samefile(path1, paht2)

看清path一和path二三个路子是否针对同三个文件

2、join(path1[, path2[,
…]])

认清path1和path二四个路子是还是不是对准同一个文件

join()函数跟BIF的老大join()函数差别,os.path.join()用于将路线名和文书名组合成三个整机的渠道:

 

>>> os.path.join(r"C:\Python34\Test","FishC.txt")

'C:\\Python34\\Test\\FishC.txt'

 

3、split(path)和splitext(path)

split()和splitext()函数都用来私分路线,split()函数分割路线和文件名(如若完全采取目录,它也会将最后1个索引作为文件名分别,且不会推断文件也许目录是还是不是留存);splitext()函数则是用以私分文件名和庞大名:

>>> os.path.split(r"a\b\test.txt")

('a\\b', 'test.txt')
>>> os.path.splitext(r"a\b\test.txt")

('a\\b\\test', '.txt')

 

4、getsize(file)

getsize()函数用于获取文件的尺码,重临值是以字节为单位:

>>> os.chdir("C:\\Users\\14158\\AppData\\Local\\Programs\\Python\\Python37")

>>> os.path.getsize("python.exe")

99992

 

5、getatime(file)、getctime(file)和getmtime(file)

getatime(file)、getctime(file)和getmtime(file)分别用于获取文件的近日走访时间、创造时间和修改时间。可是重返值是浮点型秒数,可用time模块的gmtime()或localtime()函数换算:

>>> import time

>>> temp = time.localtime(os.path.getatime("python.exe"))

>>> print("python.exe被访问的时间是:",time.strftime("%d%b%Y%H:%M:%S",temp))

python.exe被访问的时间是: 20Aug201817:46:49
>>> temp = time.localtime(os.path.getctime("python.exe"))

>>> print("python.exe被创建的时间是:",time.strftime("%d%b%Y%H:%M:%S",temp))

python.exe被创建的时间是: 27Jun201805:01:38
>>> temp = time.localtime(os.path.getmtime("python.exe"))

>>> print("python.exe被修改的时间是:",time.strftime("%d%b%Y%H:%M:%S",temp))

python.exe被修改的时间是: 27Jun201805:01:38

还有部分函数重返布尔类型的值,详细情况见表。

 

*******************************

三、课时30课后习题及答案

*******************************

 4858.com 2

4858.com 34858.com 44858.com 5

4858.com 6

4858.com 74858.com 8

4858.com 94858.com 104858.com 11

4858.com 12

4858.com 13

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有