澳门至尊网站-首页

您的位置:澳门至尊网站 > 搜索引擎 > 目录常用的函数使用方法,文件系统

目录常用的函数使用方法,文件系统

2019-11-14 18:25

目录:

python底子:os模块中关于文件/目录常用的函数使用方法,

Python是跨平台的言语,也即是说相像的源代码在分化的操作系统不必要订正就能够雷同达成因而Python的撰稿者就倒腾了OS模块这么四个玩具出来,有了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路线以下有所的子目录,重返叁个安慕希组:(路线, [包涵目录], [饱含文件])【具体达成方案请看:第30讲课后作业^_^】

以下是协助路线操作中常用到的有的概念,援救具有平台

os.curdir

替代它当前目录('.'卡塔尔

os.pardir

取代他上一级目录('..'卡塔尔

os.sep

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

os.linesep

当前平台利用的行终止符(Win下为'rn',Linux下为'n')

os.name

代替他当前使用的操作系统(满含:'posix',  'nt', 'mac', 'os2', 'ce', 'java'卡塔尔国

函数名

应用方式

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()函数换算卡塔 尔(英语:State of Qatar)

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七个渠道是不是针对同多个文本

 

Python是跨平台的言语,也便是说肖似的源代码在区别的操作系统无需修改就能够...

  大器晚成、os模块中有关文件/目录常用的函数使用方法

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

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

 

接下去会介绍跟Python的文本有关的后生可畏对很有用的模块。模块是怎么样?其实大家写的每一个源代码文件(*.py卡塔尔国都以三个模块。Python自个儿带有极其多使用的模块。

比如刚起头介绍的文字小游戏,里边就用random模块的randint(卡塔 尔(英语:State of Qatar)函数来生成随机数。然则要接收那些randint(卡塔 尔(英语:State of Qatar)函数,直接就调用可不行:

>>> 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

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

>>> import random

>>> random.randint(0,9)

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

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

7

 

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

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

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

先是要介绍的是有才能的人上的OS模块,OS即Operating System的缩写,意思是操作系统。之所以说OS模块高大上,是因为对于文件系统的拜会,Python日常是因此OS模块来落到实处的。

Python是跨平台的语言,也便是说,相似的源代码在差异的操作系统不必要修正就能够一直以来完毕。有了OS模块,没有要求关心怎么着操作系统下使用什么模块,OS模块会帮您选拔正确的模块并调用。

下表列举了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下为'rn',Linux下为'n')
os.name             指代当前使用的操作系统(包括:'posix',  'nt', 'mac', 'os2', 'ce', 'java')

 

1、getcwd()

在有一点点情状下,大家要求获得应用程序当前的办事目录(例如要封存一时文件卡塔尔国,那么能够运用getcwd(卡塔尔国函数拿到:

>>> import os

>>> os.getcwd()

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

 

2、chdir(path)

用chdir(卡塔 尔(英语:State of Qatar)函数能够转移当前职业目录,举例能够切换来D盘:

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

>>> os.getcwd()

'D:\'

 

3、listdir(path='.')

有的时候你或然必要懂伏贴前目录下有哪些文件和子目录,那么listdir(卡塔 尔(阿拉伯语:قطر‎函数能够帮您罗列出来。path参数用于钦命列举的目录,私下认可值是'.',代表根目录,也足以利用'..'代表上生机勃勃层目录:

 

>>> 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', '大二上', '安装包', '小甲鱼', '应用程序', '桌面壁纸']

 

4、mkdir(path)

mkdir(卡塔 尔(阿拉伯语:قطر‎函数用于创设文件夹,要是该公文夹存在,则抛出FileExistsError分外:

>>> 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'

 

5、makedirs(path)

makedirs(卡塔尔函数能够用来创制多层目录:

>>> os.makedirs(r".abc")

意义如图所示:

图片 1

 

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

remove(卡塔尔函数用于删除钦点的文书,注意是剔除文件,不是剔除目录。假使要删减目录,则用rmdir(卡塔尔国函数;假使要去除多层目录,则用removedirs(卡塔 尔(英语:State of Qatar)函数。

>>> 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".abc")

注:在C盘有异常的大希望会报错,未有权力。

 

7、rename(old,new)

rename(卡塔 尔(阿拉伯语:قطر‎函数用于重命名文件或文件夹:

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

 

8、systemf(command)

差不离各类操作系统都会提供部分小工具,system(卡塔 尔(英语:State of Qatar)函数正是用来采用那么些小工具:

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

回车的前面即弹出计算器。

 

9、walk(top)

最终是walk(卡塔 尔(英语:State of Qatar)函数,这么些函数在多少时候真的非常有用,能够省去你不菲麻烦。该函数的效率是遍历top参数钦点路径下的全部子目录,并将结果回到八个长富组(路线,[包含目录],[包蕴文件])。

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

 

别的path模块还提供了部分很实用的定义,分别是:os.curdir代表当前目录;os.pardir表示上一流目录('..'卡塔 尔(阿拉伯语:قطر‎;os.sep表示路线的分隔符,比如Windows系统下为‘\’,linux下为‘’;os.linesep表示近些日子平台应用的行终止符(在Windows下为‘rn’,Linux下为‘n’卡塔尔国;os.name代表这段日子使用的操作系统。

 

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

二、os.path模块中有关路线常用的函数使用格局

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

 另一个强有力的板块是os.pash,它能够做到部分照准路线名的操作。下表列举了os.pash中常用到的函数使用格局。

函数名                          使用方法
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、basename(pash)和dirname(path)

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

>>> os.path.dirname(r"abtest.txt")

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

'test.txt'

 

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

join(卡塔尔国函数跟BIF的那么些join(卡塔 尔(英语:State of Qatar)函数不相同,os.path.join(卡塔 尔(阿拉伯语:قطر‎用于将路线名和文书名组合成叁个完整的门道:

>>> os.path.join(r"C:Python34Test","FishC.txt")

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

 

3、split(path)和splitext(path)

split(卡塔 尔(阿拉伯语:قطر‎和splitext(卡塔 尔(英语:State of Qatar)函数都用来私分路线,split(卡塔尔函数分割路线和文书名(假使完全使用目录,它也会将最终叁个目录作为文件名分别,且不会咬定文件或然目录是或不是留存卡塔尔国;splitext(卡塔 尔(英语:State of Qatar)函数则是用来私分文件名和扩大名:

>>> os.path.split(r"abtest.txt")

('a\b', 'test.txt')
>>> os.path.splitext(r"abtest.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课后习题及答案

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

 图片 2

图片 3图片 4图片 5

图片 6

图片 7图片 8

图片 9图片 10图片 11

图片 12

图片 13

 

本文由澳门至尊网站发布于搜索引擎,转载请注明出处:目录常用的函数使用方法,文件系统

关键词: