热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python3学习第九弹:模块学习二之文件管理模块

os模块提供访问操作系统的接口1>name获得当前操作系统其中nt是windowsposix是linux2>envi

os模块

	提供访问操作系统的接口

	1> name 
		获得当前操作系统
		其中 'nt' 是 windows 'posix' 是 linux

	2> environ
		获得当前系统的环境变量的字典,(变量名:变量值)

	3> getcwd()
		获得当前工作目录

	4> getgid()
		返回当前进程的真实组id

	5> getlogin()
		返回当前登录的用户名

	6> getpid()
		返回当前进程的pid

	7> system(command)
		运行shell命令
		在linux下是运行终端,在windows下是运行cmd,故命令不同
		因为能够运行shell命令,故可以通过这个来打开软件
		例如在'C:\\'下有一个浏览器
		>>> os.system(r'C:\firefox.exe')
		通过这样就可以打开firefox浏览器
		返回值只为0(成功),1,2
	8> popen(command)
		与system函数几乎相同,不同在于popen可以返回命令获取的值,常常用于'管道'

	9> startfile(path)
		直接运行path路径下软件

	#以下命令均与linux下终端控制的文件管理命令几乎相同

	10> mkdir(path)
		创建新目录,相当于linux下 $mkdir 命令

	11> rmdir(path)
		删除空目录,相当于linux下 $rmdir 命令

	12> list(path)
		返回路径目录中所有文件及文件夹,相当于linux下 $ls 命令

	13> remove(path)
		删除文件,相当于linux下 $rm 命令

	14> rename(src, dst)
		重命名文件,src与dst分别为命名前后的文件路径,也就是说不仅可以对文件进行重命名,同时可以改变文件的路径,相当于剪切

	15> chmod(path, mode)
		改变文件的权限,相当于linux下 $chmod 命令

	16> chown(path, uid, gid)
		改变文件拥有者和拥有组,相当于linux下 $chown 命令

	17> stat(path)
		查看文件的属性,返回值中st_atime(访问时间), st_mtime(修改时间), st_ctime(创建时间), st_size(文件大小/字节) 相当于linux下 $ls -l 命令

	18> symlink(src, dst)
		为路径为src的文件在路径dst上创建软链接,相当于linux下 $ln -s 命令

	Add:

	17> walk(path, topdown = True, Onerror= None)
		以递归的方式遍历path目录
		a) 每次遍历到一个目录,返回三元组(文件目录绝对路径,当前目录的文件夹,当前目录的文件)
		b) topdown为true时,表示先遍历当前目录的文件,再遍历当前目录的子目录。反之,topdown为false时,先遍历当前目录的子目录,返回子目录下的文件,最后返回当前目录下的文件
		c) onerror为none时,表示忽略文件遍历时产生的错误,否则可以自定义添加函数对提示错误信息后进行操作

		>>> path = r'D:\\Test'
		>>> for root, dirs, files in os.walk(path)
				print(root, dirs, files)

os.path模块

	提供许多处理长文件名(路径名)的函数(或者说你就不需要处理前后斜杠)
	1> basename(path)
		去掉目录路径,返回文件名

	2> dirname(path)
		去掉文件名,返回目录路径

	3> split(path)
		返回(路径, 文件名)的元组

	4> splitext(path)
		返回(文件名, 扩展名)的元组

	5> join(path, *path)
		给出路径中所有文件名生成路径
		>>> os.path.join('..', 'a', 'b', 'new.txt')
		'..\\a\\b\\new.txt'

	# 检查文件名(路径)的特征
	6> exists(path)
		判断文件或目录是否存在

	7> isdir(path)
		判断是否为文件夹

	8> isfile(path)
		判断是否为文件

	9> islink(path)
		判断是否为链接,若系统不支持链接形式,返回False

	10> isabs(path)
		判断是否为绝对路径

	11> abspath(path)
		返回该文件的绝对路径

	# 文件信息
	12> getsize(path)
		返回文件大小

	13> getatime(path)
		返回文件最近访问时间

	14> getctime(path)
		返回文件创建时间

	15> getmtime(path)
		返回文件最近修改时间
	返回时间可用time中的gmtime获得标准输出时间

	16> 调用一些路径标识符(大都为linux标准)
		    altsep = '/'
		    curdir = '.'
		    defpath = r'.;C:\bin'
		    devnull = 'nul'
		    extsep = '.'
		    pardir = '..'
		    pathsep = ';'
		    sep = r'\'
		    supports_unicode_filenames = True

shutil模块

	提供高层次的文件操作接口

	1> copy(src, dst)
		复制文件,从src到dst,相当于linux下 $cp 命令

	2> move(src, dsc)
		移动文件,从src到dst,相当于linux下 $mv 命令

  


推荐阅读
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 场景1.IE,Firefox浏览器访问不了网站,谷歌浏览器可以,返回错误码DNS_PROBE_POSSIBLE.2.pingwww.qq.com可以ping通,ping局域 ... [详细]
author-avatar
手机用户2502907701
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有