pythonos模块_Python3 入门教程——os模块使用(文件/目录操作)

前言

os模块是Python标准库中一个用于访问操作系统的功能模块。

使用os模块中提供的接口,可以轻松实现跨平台访问。

在os模块中提供了一系列访问操作系统功能的接口,如,新建目录、删除目录、变更目录、重命名目录....

新建单级目录

基本语法:

os.mkdir( 'path' [,mode] )

path : 创建目录的路径

mode : 该目录的访问权限

实例如下:

>>> import os # 导入 os 模块

>>> os.mkdir('test') # 在当前目录下创建一个名为 test 的目录

>>> os.mkdir('a/test') # 在 a 目录下创建 test 目录(注: a 目录事先应是存在的)

>>> os.mkdir('a/test/b', 0777) # 在 a/test/目录下创建权限为 0777 ,名为 b 的目录

此时,查看相应的目录可以看到 交互模式下 创建的各个目录了。目录的访问权限可以根据不同的需求进行求改,其值与liuux 下的一致。

说明:以上操作实在交互模式下执行的,#号后的的为注释语句,使用时不需要输入。

创建多级目录

基本语法:

os.makedirs( 'path' [, mode = 0777] )

path : 各级目录信息

mode : 目录权限设置

实例如下:

>>> import os

>>> os.makedirs('a/b/c/d') # 不指定目录权限

>>> os.makedirs('e/f/g/h',0777) # 指定各级目录权限

此时在 命令行下使用 tree a 命令就可以查看到 父目录a下的所有子目录了。

分析:

第二行语句表示,在当前目录下创建多级目录 a/b/c/d ( 注: 原来不存在该目录 )

第三行语句表示,创建多级目录 e/f/g/h 且其每一级目录的权限均为 0777

重命名目录

基本语法:

os.rename( 'old_filename',' new_filename' )

功能:重命名目录(文件夹)。

实例如下:

>>> import os

>>> os.rename('test','test_new')

此时程序已将当前目录下的 test目录重命名为 test_new 。

提示:输入的 参数可以是‘相对路径’也可以是‘绝对路径’,如:

>>> os.rename('/home/wqt/test','/home/wqt/test_new')

删除单级目录

基本语法:

os.rmdir( 'path' )

注: 该方法只适合删除单级(一级)的目录,多级目录无法删除。

实例如下:

>>> import os

>>> os.rmdir('test') # 删除 当前目录下的 test 目录

此时,当前目录下的 test 目录(文件夹)已被删除。

删除多级目录

基本语法:

os.removedirs( 'path' )

该方法可以删除多级的目录,缺省为一个目录名时,表示删除当前的单级目录文件。

提示: 使用该方法时应谨慎操作,使用不当会丢失众多文件,带来不必要的麻烦!!!!

实例如下:

>>> import os

>>> os.removedirs('e/f/g/h')

当需要删除多级目录时,填入的应该是完整的多级目录格式,而不能使用父目录格式来指定,如:os.removedirs( e ) 操作是非法的。

浏览目录文件

基本语法:

os.listdir( 'path' )

该方法可以将目录下的的内容以列表的形式返回。注意:该方法只返回指定目录的当前级内容(不包括子目录下的内容)。

实例如下:

假设有一 study目录,该目录下有文件1.py、2.py、3.py 和子目录a、b、c,且子目录下还有其它文件。

>>> import os

>>> os.listdir('study')

['c', 'b', 'a', '3.py', '1.py', '2.py']

>>>

可见,该方法是以列表的形式返回当前指定目录下的所有文件,而并没有返回子目录下的内容。

获取当前目录信息

基本语法:

os.getcwd()

功能:将python当前所处的工作路径信息返回。

实例如下:

>>> os.getcwd()

'/home/wqt'

可见当前 python 工作在 wqt 目录中。

改变工作目录

基本语法:

os.chdir('path')

功能: 将 python 重新指向另一工作目录。

实例如下:

>>> import os

>>> os.getcwd()

'/home/wqt'

>>> os.chdir('./study')

>>> os.getcwd()

'/home/wqt/study'

>>> os.chdir('/')

>>> os.getcwd()

'/'

>>>

解释: 其中 . 表示当前目录 , / 表示根目录 ,所以 ./study 表示将工作目录转换到当前目录下的 study 的目录中。

更多功能

可查看参考地址:

喜欢 (1)or分享 (0)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当数据量很少的时候,tableview会显示多余的cell--iOS开发系列---项目中成长的知识二...

当数据量很少的时候,tableview会显示很多的cell,而且是空白的,这样很不美观 所以使用下面的方法可以去掉多余的底部的cell 原理是:设置footerView为frame 是 CGRectZero ,造成一种假象! UIView *v [[UIView alloc] initWithFrame:CGRectZero]; [self.myTable setTableFooterVi…

逗牙搞笑网www.idouya.xin

有一天,小明问妈妈“妈妈,妈妈,爸爸是什么啊?”妈妈刚刚和爸爸吵架,生气的回答“孩子,记住所有的男的都是色狼!”小明有去问爸爸“爸爸,爸爸,妈妈是什么啊?”…

STM32F1笔记(六)独立看门狗IWDG

STM32F1内置了两个看门狗,独立看门狗IWDG和窗口看门狗WWDG,可以用来检测和解决由软件错误引起的故障。 IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求…

在JSF 2中对定制验证器进行参数化

在JSF 2中编写自定义验证器并不复杂。 您实现Validator接口,添加FacesValidator批注,并在faces-config.xml中插入Validator声明, 仅此而已 。 一块蛋糕。 但是,让我们考虑以下情形: 您需要自定义日期验证器&#xff0c…

python绘制散点图的函数_python matplotlib更新函数的散点图

有几种方法可以对matplotlib图进行动画处理.在下文中,我们将使用散点图查看两个最小示例. (a)使用交互式模式plt.ion() 要进行动画制作,我们需要一个事件循环.获取事件循环的一种方法是使用plt.ion()(“交互式打开”).然后需要首先绘制图形,然后可以循环更新绘图.在循环内部,我…

偷学来的资料

--矛盾 fis3的pngcrush不支持你的node版本v4.4.0 换成4.2.4就可以了. --工具 淘宝 NPM 镜像:http://npm.taobao.org/ FIS2 to FIS3:https://github.com/fex-team/fis3/blob/master/doc/docs/fis2-to-fis3.md fis3demo:https://github.com/fex-team/fis3-demo --前端blog/网站 廖…

Java EE6事件:JMS的轻量级替代品

我今天要讨论的功能是Java EE 6中的事件机制。一般的想法是触发一个事件,并让事件监听器来接收它。 我创建了这个完全没有用的示例,但是它的简单性帮助我专注于重要的内容。 我将从后备操作中触发LogEvent,该事件将记录到java.util.Logger中。…

STM32F1笔记(七)WWDG窗口看门狗

窗口看门狗与独立看门狗最大的不同是中断,窗口看门狗拥有一个提前唤醒中断。也就是在快要产生复位的前一段时间(T[6:0]0x40)来提醒需要进行喂狗,否则将复位。因此当窗口看门狗的计数器值减到0x40的时候,产生中断&#…

求助!求助!网站页面图片太多,加载时间太长该怎么办?

以下是百度统计的诊断,小弟万般无奈,html上的缓存以及图片处理技巧欠缺,希望各位大大帮帮忙支个招! 以下元素可在不损失原信息量的前提下进行压缩: http://www.5atl.com/Style/main.css (大小: …

groovy怎样从sql语句中截取表名_Mysql和SQL

基本概念1.数据库DataBase简称:DB2.什么数据库?——用于存储和管理数据的仓库。存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。3.数据库的特点&#xff1a…

使用java.util.prefs.Preferences代替java.util.Properties

典型的应用程序安装程序需要向用户询问几个选项,其中一些是配置问题,例如,应用程序应在其上运行的端口,应如何运行等。应用程序必须记住这些选项,并在每个选项中使用它们。跑。 解决此问题的标准方法是将这些选项写入属…

STM32F1笔记(八)时钟

STM32有五种时钟源 1、HSI。高速内部时钟,RC振荡器,频率为8MHz。 2、HSE。高速外部时钟,可接石英/陶瓷谐振器,或者借外部时钟源,频率范围为4MHz~16MHz。 3、PLL。锁相环倍频输出,其时钟输入源可选择为HS…

java常用工具类(一)

一、String工具类 package com.mkyong.common; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * author 宋立君 * date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NO…

Oracle定时器调用存储过程

关于Oracle定时器调用存储过程的一点总结&#xff0c;如果有不足的地方&#xff0c;希望大家多多指导&#xff0c;也是第一次在博客上写东西&#xff0c;以前也只是自己总结之后放在硬盘了&#xff0c;后来同事告诉自己&#xff0c;其实写博客可以获得很多&#xff0c;不管是知…

python可以下载百度文库_不用下载券也能下载百度文库资料,Python帮你轻松搞定...

大家可能平时都有在百度文库下载文档的经历&#xff0c;费尽心思好不容易在文库找了一份可以用的资料&#xff0c;一看需要用下载券下载&#xff0c;搞的人很烦。 有的人为了节省时间&#xff0c;就任性办理了个文库VIP&#xff0c;再也不用纠结怎么下文档了。如果你是一个百度…

将对象映射到多个XML模式–天气示例

我已经在EclipseLink JAXB&#xff08;MOXy&#xff09;的XmlPath和外部绑定文件扩展中撰写了以前的文章。 在本文中&#xff0c;我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的功能。 为了使示例更加“真实”&#xff0c;XML数据将来自提供天气信息的两种不同…

STM32F1笔记(九)通用定时器

STM32F1的定时器分为TIME1/8等高级定时器&#xff0c;TIME2~5等通用定时器&#xff0c;TIME6/7基本定时器。三者的区别主要参考《STM32中文参考手册》里特性的每种定时器主要特性的异同。 先看中文手册中通用定时器的简介&#xff1a; 通用定时器的寄存器有一个比较有趣的地方…

佳能MP258的5200错误和P08代码解决方法及清零方法

参考文章转载于:https://www.cnblogs.com/arcer/p/5659624.html

tomcat通过conf-Catalina-localhost目录发布项目详解

转自&#xff1a;http://www.cnblogs.com/iyangyuan/p/3316444.html&#xff0c;感谢 杨元。 Tomcat发布项目的方式大致有三种&#xff0c;但小菜认为通过在tomcat的conf/Catalina/localhost目录下添加配置文件&#xff0c;来发布项目&#xff0c;是最佳选择。 因为这样对tomca…

c++保存图标到dll_自动保存邮件附件至指定文件夹

最近有个需求&#xff0c;ERP系统会自动发很多csv附件到我邮箱&#xff0c;我需要把这些附件上传到FTP服务器&#xff0c;服务器会把这些csv的数据写到另外一个系统的数据库。每次大概有30个邮件&#xff0c;每个邮件有一个附件&#xff0c;而且附件的名字都一样&#xff0c;是…