20180209-os模块

下面将学习关于os模块的相关操作

  项目练习的目录结构如下:所有的操作都是基于os_exercise.py模块

  

  1.获取当前的Python脚本的工作目录路径 os.getcwd()

# 1.获取当前目录
dir = os.getcwd()
print('获取当前python脚本工作目录:',dir)
# 输出
# 获取当前python脚本工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

  2.获取指定目录下的所有文件和目录,os.listdir(dirname)  如果不传dirname,则返回当前python脚本的工作目录下的文件和目录名

# 2.返回执行目录下所有的文件和目录
li = os.listdir()
print('获取当前python工作目录下的文件名名和目录名,',li)
# 输出
# 获取当前python工作目录下的文件名名和目录名, ['os_exercise.py']

li = os.listdir('../packages')
print('获取packages目录下所有的文件名和目录名:',li)
# 输出
# 获取packages目录下所有的文件名和目录名: ['.DS_Store', 'my_proj']

  3.删除文件,os.remove(filename)

# 3.删除一个文件 注意:这里只能删除文件,不能删除目录
os.remove('os_exercise02.py')
#如果文件不存在则报错
os.remove('os_exercise02.py')

Traceback (most recent call last):=
  File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 25, in <module>
    os.remove('os_exercise02.py')
FileNotFoundError: [Errno 2] No such file or directory: 'os_exercise02.py'

  4.检测filename是否是个文件,os.path.isfile(filename)

# 4.检测filename是否是一个文件 os.path.isfile(filename)
ret = os.path.isfile('os_exercise.py')
print('检测filename是否是一个文件:',ret)
# 输出
# 检测filename是否是一个文件: True

  5.检测dirname是否是一个目录,os.path.isdir(dirname)

# 5.检测dirname是否是一个目录 os.path.isdir(dirname)
ret = os.path.isdir('../os')
print('检测dirname是否是一个目录:',ret)
# 输出
# 检测dirname是否是一个目录: True

  6.判断filepath是否是一个绝对路径,os.path,isabs(filepath)

# 6.判断filepath是否是绝对路径,os.path.isabs(path)
ret = os.path.isabs('os_exercise.py')
print('判断os_exercise.py是否是绝对路径:',ret)
# 输出
# 判断os_exercise.py是否是绝对路径: False

ret = os.path.isabs('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('判断filepath是否是绝对路径:',ret)
# 输出
# 判断path是否是绝对路径: True

  7.判断filepath是否真实存在,os.path.exists(filepath)

# 7.判断filepath是否真实存在 os.path.exists(filepath)
ret = os.path.exists('os_exercise.py')
print('判断os_exercise.py是否真实存在:',ret)
# 输出
# 判断os_exercise.py是否真实存在: True

ret = os.path.exists('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os')
print('判断os目录是否真实存在:',ret)
# 输出
# 判断os目录是否真实存在: True

ret = os.path.exists('../os')
print('判断os目录是否真实存在:',ret)
# 输出
# 判断os目录是否真实存在: True

   8.获取filepath的目录名和文件名,os.path.split(filepath)

# 8.获取filepath的目录名和文件名 os.path.split(filepath)
ret = os.path.split('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的目录名和文件名:',ret)
# 输出
# 取filepath的目录名和文件名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os', 'os_exercise.py')

  9.分离filepath的扩展名,os.path.splitext(filepath)

# 9.分离filepath的扩展名 os.path.splitext(filepath)
ret = os.path.splitext('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('分离filepath的扩展名:',ret)
# 输出
# 分离filepath的扩展名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise', '.py')

  10.获取filepath的路径名 os.path.dirname(filepath)

# 10.获取filepath的路径名 os.path.dirname(filepath)
ret = os.path.dirname('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的路径名:',ret)
# 输出
# 获取filepath的路径名: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

  11.获取fielname的绝对路径 os.path.abspath(filename)

# 11.获取filename的绝对路径 os.path.abspath(filename)
ret = os.path.abspath('os_exercise.py')
print('获取os_exercise.py的绝对路径',ret)
# 输出
# 获取os_exercise.py的绝对路径 /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py

  12.获取filepath的文件名 os.path.basename(filepath)

# 12.获取filepath的文件名 os.path.basename(filepath)
ret = os.path.basename('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的文件名:',ret)
# 输出
# 获取filepath的文件名: os_exercise.py

  13.运行shell命令 os.system(shell),由于终端每执行shell命令都会有一个状态

# 13.执行shell脚本 os.system(shell)
ret = os.system('ls')
print('执行shell脚本 ls命令:',ret)
# 输出
# os_exercise.py
# 执行shell脚本 ls命令: 0

  14.获取当前平台使用的行终止符 os.linesep    windows使用'\r\n',linux and Mac 使用'\n'

    

  15.获取你当前正在使用的平台名称 os.name 对于windows则是'nt',而对于linux/Mac则是'posix'

# 15.获取你正在使用的平台名称  对于windows则是'nt',而对于linux/Mac则是'posix'
ret = os.name
print('获取你正在使用的平台名称:',ret)
# 输出
# 获取你正在使用的平台名称: posix

  16.文件/目录重命名 os.rename(old,new)   注意:如果旧文件/目录不存在,则报错

#16.重命名文件/目录 如果旧文件/目录不存在,则报错
ret = os.rename('os_exercise01.py','os_exercise02.py')
ret = os.rename('os_exercise','os_exercise02')

  17.创建多级目录 os.makedirs(dirname) 注意:如果目录已存在则会报错,并且这里只能创建目录

#17.创建多级目录 os.makedirs(dirname) 注意:这里只是创建目录,不会创建文件,如果目录已存在,则会报错
ret = os.makedirs(r'dir/makedir/simple')
ret = os.makedirs(r'dir/makedir/simple')
Traceback (most recent call last):
  File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 128, in <module>
    ret = os.makedirs(r'dir/makedir/simple')
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: 'dir/makedir/simple

  18.创建单个目录dirname  os.mkdir(dirname)    用法同上,这里不在赘述 

  19.获取文件属性 os.stat(filepath),常用就是获取文件大小

# 19.获取文件属性 os.stat(filepath)
ret = os.stat('os_exercise.py')
print('获取文件属性 ret = ',ret)
# 输出
# 获取文件属性 ret =  os.stat_result(st_mode=33188, st_ino=8602852833, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=6434, st_atime=1518146428, st_mtime=1518146428, st_ctime=1518146428)

  20.获取文件大小  os.path.getsize(filename)

# 20.获取文件大小 os.path.getsize(filename)
ret = os.path.getsize('os_exercise.py')
print('获取文件大小: ',ret)
# 输出
# 获取文件大小:  6675

  21.结合目录和文件名 os.path.join(dirname,filename)

# 21.结合目录名和文件名 os.path.join(dirname,filename)
ret = os.path.join('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/','os_exercise01.py')
print('结合文件名和目录名: ret = ',ret)
# 输出
# 结合文件名和目录名: ret =  /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise01.py

  22.改变工作目录到dirname   os.chdir(dirname)

# 获取当前的工作目录
ret = os.getcwd()
print('获取当前的工作目录:',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os
ret = os.chdir('../module')
print('改变工作目录到dirname:',ret)# 获取当前的工作目录
ret = os.getcwd()
print('获取当前的工作目录:',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/module

 

 

 

 

  

转载于:https://www.cnblogs.com/it-q/p/8434507.html

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

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

相关文章

关于IE6.7.8.FF兼容的问题

所有浏览器 通用 height: 100px; IE6 专用 _height: 100px;IE6 专用 *height: 100px; IE7 专用 * height: 100px; IE7、FF 共用 height: 100px !important; 一、CSS 兼容 以下两种方法几乎能解决现今所有兼容. 1, !important (不是很推荐&#xff0c;用下面的一种感觉最安…

冯珊珊_模拟器企业衡泰信签约冯珊珊,推动高尔夫运动下沉

9月21日&#xff0c;著名高尔夫模拟器企业衡泰信宣布签约中国高尔夫球员冯珊珊&#xff0c;双方正式达成全面战略合作&#xff0c;旨在共同推动室内高尔夫运动的普及与推广&#xff0c;让更多人参与并喜爱上这项运动&#xff0c;推动全民健身目标&#xff0c;借助互联网、智慧场…

CSS3之background的调整和增加的属性

对于background做了一些修改&#xff0c;最明显的一个就是采用设置多背景&#xff0c;不但添加了4个新属性&#xff0c;并且还对目前的属性进行了调整增强。 1、多个背景图片 在css3里面&#xff0c;你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法&…

html 天气特效,用CSS制作天气特效动画,源码分享

效果图今天给大家带来的是CSS3动画天气图标代码&#xff0c;简单实用好看&#xff01;CSS源码&#xff1a;html { box-sizing: border-box; }html *,html *:before,html *:after { box-sizing: inherit; }body {max-width: 42em;padding: 2em;margin: 0 auto;color: #161616;fo…

做折线图坐标轴数字_Excel折线图表的另类表达制作?牛闪君使用了双线表达法来完成...

牛闪闪办公第846个原创技巧Zloffice社群的小伙伴还是很爱学习的&#xff0c;这不&#xff0c;有一位小伙伴看到“特殊”图表表达&#xff0c;想知道是怎么做出来的。这种学习的思路非常好&#xff0c;看到好的表达就想学习&#xff0c;这是非常好的收集习惯&#xff0c;能够积累…

Spring MVC:表单处理卷。 5 –选择,选项,选项标签

下拉列表是Web表单中最常见的元素之一。 在HTML中&#xff0c;可以使用适当的标签创建此类控件&#xff1a; <form&#xff1a;select> –下拉列表的父标签和<form&#xff1a;option> – <form&#xff1a;select>标签的子标签。 Spring MVC标签库为下拉列表…

Python的看门狗实现自动化实时对服务器、Windows或Linux文件夹的实时监控

众所周知&#xff0c;在运维过程中&#xff0c;实时获取目标文件夹至关重要&#xff0c;Python的watchdog是用程序来监视文件系统事件Python库&#xff0c;所以用该库可以实现对文件夹的实时监控&#xff0c;filenotify.py代码如下&#xff1a; # -*- coding: utf-8 -*- #!/usr…

在html中样式表的三种类型,css样式有哪几种类型?

CSS样式可以写在哪些地方呢&#xff1f;从CSS 样式代码插入的形式来看基本可以分为以下3种&#xff1a;内联式、嵌入式和外部式三种。下面本篇文章就来给大家介绍一下CSS样式的类型&#xff0c;希望对大家有所帮助。内联式样式内联式css样式表就是把css代码直接写在现有的HTML标…

记录合规性–关于TCK,规格和测试

使用软件规格非常困难。 不论在哪个地方提出&#xff1b; 您最终遇到了一个大问题&#xff1a;是否已实施并测试了所有指定的内容&#xff1f; 在瀑布驱动的方法学时代&#xff0c;这一直是一个问题&#xff0c;即使在撰写本文的今天&#xff0c;敏捷性和用户故事仍然不能保证您…

arcgis已试图对空几何执行该操作_ArcGIS中地理配准与空间校正的不同

ArcGIS中地理配准与空间校正都是用于数据坐标变换的目的&#xff0c;他们之间有什么区别呢&#xff1f;1、处理对象不同&#xff1a;地理配准针对栅格数据&#xff0c;而空间校正针对矢量数据。因此空间校正需要建立在矢量数据编辑的基础上&#xff0c;空间校正之前应开始编辑。…

【计算机视觉】深度学习视觉领域常用数据集汇总

本文结合笔者在研究生学习、科研期间使用过以及阅读文献了解到的深度学习视觉领域常用的开源数据集&#xff0c;进行介绍和汇总。MNIST深度学习领域的“Hello World!”&#xff0c;入门必备&#xff01;MNIST是一个手写数字数据库&#xff0c;它有60000个训练样本集和10000个测…

JavaScript高级特征之面向对象笔记

Javascript面向对象&#xff1a;函数&#xff1a; * Arguments对象&#xff1a; * Arguments对象是数组对象 * Arguments对象的length属性可以获取参数的个数 * 利用Arguments对象模拟函数的重载效果&#xff08;javascript中不存在函…

绘图用计算机软件的基本种类有,主编教您电脑绘图软件有哪些

绘图软件是指专业人员根据一定准则设计的用于计算机绘图软件程序&#xff0c;种类非常多&#xff0c;通过它们可以满足足广大用户的基本绘图要求。下面&#xff0c;我就给大家介绍电脑绘图软件有哪些。电脑是根据指令进行高速计算的电子设备&#xff0c;功能强大&#xff0c;时…

HTML浮动导致高度塌陷,HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)...

元素浮动定义float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像&#xff0c;使文本围绕在图像周围&#xff0c;不过在 CSS 中&#xff0c;任何元素都可以浮动。浮动元素会生成一个块级框&#xff0c;而不论它本身是何种元素。如果浮动非替换元素&#xff0c;则要指定…

Python API简单验证

前言 因为CMDB内部的需求&#xff0c;需要一个API进行数据传输&#xff0c;用来传递需要抓取的服务端信息信息给抓取的autoclient&#xff0c;autoclient抓取好之后再通过API传输到服务器&#xff0c;保存到数据库。但是为了防止恶意的API访问&#xff0c;需要做一个验证。 设想…

前端js编码

1、首先是encodeURI和encodeURIComponent&#xff1b; 从名字可以清晰的看出他两都是主要用于url编码的&#xff0c;那之间有什么区别呢&#xff1f;唯一区别就是编码的字符范围&#xff0c;其中 encodeURI方法不会对下列字符编码 ASCII字母、数字、~!#$&*():/,;?&#x…

Python中 sys.argv[]的用法简明解释

Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数&#xff0c;且一直在IDLE上编辑了后运行&#xff0c;试图从结果发现它的用途&#xff0c;然而结果一直都是没结果&#xff0c;也在网上查了许多&#xff0c;但发现这个问题的比…

文件上传漏洞及其绕过、对策、过狗

1. 文件包含上传&#xff1a; php://input属于php内置的封装协议&#xff0c;其实都主要是include&#xff08;&#xff09;函数处理不当如果有文件是以下写法&#xff0c;xxx随便&#xff1a;<?phpinclude($_GET[xxx]);?> 以上保存到test.php&#xff0c; 我们访问ht…

一维二维_更高效的一维、二维材料过渡态搜索

前言本文中&#xff0c;我们首先介绍如何使用NEB方法搜索过渡态&#xff0c;以及在NEB的结果的基础上&#xff0c;进一步提高精度优化出高精度、可验证的过渡态。本文以MoS2的一维条带(其中一个Mo原子被Co替代掺杂)为例进行演示。一般来说&#xff0c;这种反应&#xff0c;周期…

Mybatis之逆向工程

前面几篇基本把mybatis简单使用学习了下,今天学习下mybatis逆向工程&#xff0c;我们在开发中经常需要先设计数据库表结构或者先设计model,那就是能不能有工具可以只需在一边设计之后另一边自动生成呢&#xff1f;于是逆向工程来了。这里的逆向功能是通过数据库的表生成java po…