Python不归路_os和system模块

OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作,OS模块提供对操作系统进行调用的接口。

几个重要函数:

os.getcwd()#查看当前所在路径,默认是Python程序所在路径
os.chdir()#切换目录,功能和linux中cd命令一样
os.curdir#返回当前目录‘.’
os.pardir#返回当前父目录‘..’
os.makedirs()#新建多级目录,功能和linux中的mkdir -p命令一样
os.removedirs()#删除多级目录,若目录非空,无法删除,以此类推
os.mkdir()#新建单级目录
os.rmdir()#删除单级目录
os.listdir()#列出制定目录下所有的目录和文件,以列表形式放回
os.remove()#删除文件
os.rename()#重命名文件
os.stat()#获取目录和文件信息
os.sep#输出当前操作系统分隔符,windows为‘\\’,Linux为‘/’
os.linesep#输出当前操作系统行终止符,windows为‘\t\n’,Linux为‘\n’
os.pathsep#输出用于分割文件路径的字符串
os.name#输出当前使用平台,windows为‘nt’,Linux为‘postix’
os.system()#输出Linux命令
os.environ()#获取系统环境变量
os.path.abspath()#输出绝对路径
os.path.split()#将path分割成目录和文件名的二元组返回
os.path.dirname()#返回path的目录
os.path.basename()#返回path最后的文件名
os.path.exists()#判断路径是否存在,返回Ture或False
os.path.isabs()#判断路径是否绝对路径,返回True或False
os.path.isflie()#判读是否是文件,返回True或False
os.path.isdir()#判断是否是目录,返回True或False
os.path.join()#将多个文件组合返回
os.path.getatime()#获取路径最后存取时间
os.path.getmtime()#获取路径最后修改时间

我们来看下各个函数的例子:

1.os.getcwd()、os.chdir()

import os
os.getcwd() #当前所在目录
os.chdir(r‘d:\\‘) #切换路径
os.getcwd()

输出结果:

‘D:\\Program Files\\python3.6‘
‘d:\\‘

2.os.curdir和os.pardir

os.curdir
os.pardir

输出结果:

‘.‘
‘..‘

3.os.makedirs()

新建多级目录,类似Linux中mkdir -p的作用。

import os
os.path.exists(‘d:\\234‘) #检查d:\\234目录是否存在
os.makedirs(‘d:\\234\\234‘) #新建多级目录 d:\\234\\234os.path.exists(‘d:\\234‘) #检查d:\\234目录是否存在
os.path.exists(‘d:\\234\\234‘)#检查d:\\234\\234目录是否存在

输出结果:

False #d:\\234目录不存在
True #d:\\234目录存在
True #d:\\234\\234目录存在

使用os.makedirs()函数同时新建了d:\\234及d:\\234\234两个目录,且这两个目录是父子关系。

4.os.removedirs()

import os
print(os.path.exists(‘d:\\234‘))
print(os.path.exists((‘d:\\234\\234‘))#判断d:\\234\\234目录是否存在
os.removedirs(‘d:\\234\\234‘)#删除d:\\234下所有,包括子目录\\234
print(os.path.exists(‘d:\\234‘))#判断是否已经删除子目录\\234

输出结果:

True
True
False

从os.path.exists(‘d:\\234’)的输出结果来看,表明os.removedirs()已经将d:\\234和子目录\\234都删除了。

5.os.mkdir和os.rmdir

os.mkdir和os.rmdir用法和Linux中mkdir、rmdir一样,新建、删除目录。

import os
print(os.path.exists(‘d:\\234‘))
os.mkdir(‘d:\\234‘)
print(os.path.exists(‘d:\\234‘))
os.rmdir(‘d:\\234‘)
print(os.path.exists(‘d:\\234‘))

输出结果:

False
True
False

6.os.listdir

import os
print(os.listdir(‘d:\\’))

输出结果:

[‘$RECYCLE.BIN‘, ‘360安全浏览器下载‘, ‘BaiduNetdiskDownload‘, ‘dameware7.5.5‘, ‘MSOCache‘, ‘Office_2013_X64‘, ‘Program Files‘, ‘Program Files (x86)‘, ‘python‘, ‘System Volume Information‘, ‘Users‘]

os.listdir()函数以列表的形式返回结果,输出该路劲下所有的目录。

7.os.remove和os.rename

os.remove()删除文件,os.rename(oldname,newname)重命名文件

import os
print(os.path.exists(‘d:\\python.txt‘))os.rename(‘d:\\python.txt‘,‘d:\\python123.txt‘)print(os.path.exists(‘d:\\python123.txt‘))print(os.path.exists(‘d:\\python.txt‘))os.remove(‘d:\\python123.txt‘)print(os.path.exists(‘d:\\python123.txt‘))
输出结果: 
True
True  #os.rename()把python.txt重名为python123.txt
False #python.txt已被重名为python123.txt
False #python已被os.remove()删除

8.os.stat()

import os
print(os.stat(‘d:\\‘))

输出结果:

os.stat_result(st_mode=16895, st_ino=1407374883553285, st_dev=731043, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1505912747, st_mtime=1505912747, st_ctime=1505665043)

9.os.system()

os.system()输出Linux 命令。

10.os.path.abspath()

os.path.abspath()输出绝对路径

import os
print(os.getcwd())print(os.path.abspath(‘234.txt‘))os.chdir(‘d:\\‘)print(os.path.abspath(‘234.txt‘))

输出结果:

E:\Len_Pyt #当前路径
E:\Len_Pyt\234.txt #输出绝对路径
d:\234.txt #修改d:\\后,输出绝对路径

11.os.path.split(),os.path.dirname(),os.path.basename()

os.path.split() 将path分割成目录和文件名的二元组返回

os.path.dirname() 返回path的目录

os.path.basename() 返回path最后的文件名

12.os.path.exists(),os.path.isfile(),os.path.isdir(),os.path.isabs()

依次判断路径是否存在,是否是文件,是否是目录,是否绝对路劲,返回布尔值。

13.os.path.getatime()#获取路径最后存取时间

  os.path.getmtime()#获取路径最后修改时间

sys模块:

sys.argv #获取脚本名后的参数
sys.exit(n) #调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
sys.path() #获取所有python路径
sys.path.insert() #插入python模块
sys.platfrom() #获取当前平台
  • sys.argv: 实现从程序外部向程序传递参数。
  • sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
  • sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
  • sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8‘),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
  • sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回‘mbcs‘,mac下返回‘utf-8‘.
  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
  • sys.platform: 获取当前系统平台。
  • sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

  

时间: 2024-10-31 08:09:26

Python不归路_os和system模块的相关文章

Python不归路_字符编码操作

文件操作补充 上篇随笔中写了文件操作的几个方法,其中truncate()方法遗漏,truncate()方法作用是截取内容,f.truncate()不带参数会清空文件内容,带参数表示截取从零到参数的位置 字符编码 在<Python不归路_零基础学习二>中我们已经学习了一些编码的知识,比如ASCII一共有255个符号,Unicode中,中文字符占两个字节,英文占一个字节,utf-8是unicode的优化方案,中文字节占三个字符.不同字符编码之间需要相互转化才能正常读取.encode和decode,

python之路5:常用模块

模块简介 time & datetime模块 random os sys shutil json & pickle shelve xml处理 configparser hashlib subprocess logging模块 re正则表达式 模块简介: 模块,是用一堆代码实现了某个功能的代码集合,n个.py文件组成的代码集合就称为模块. 模块分为三种: 自定义模块(自己手动编写的python代码文件) 内置标准模块(又称标准库) 开源模块 导入模块有以下几种方法: import modul

Python不归路_logging模块

Logging模块学习 1.Logging的五个等级 debug:诊断性的信息 info:确认一切按预期运行 warning:警告性信息,如CPU负载过高,硬盘空间少 error:更严重的事情,但系统还能运行 critical:系统无法继续运行 这5个等级,也分别对应5种打日志的方法: debug .info .warning .error .critical.默认的是WARNING,当在WARNING或之上时才被跟踪. 2.将日志输出到屏幕 2.1简单输出 1 import logging 2

python之路-基础篇-常用模块详解

什么是模块? 模块就是一个.py文件,文件名就是这个模块的模块名 这个文件中有写好的n个功能,当我要用其中的某个功能的时候,我只需要使用import方法来引入这个模块就可以使用这个模块中写好的功能,就不需要重复造轮子了 模块的分类: 1.内置模块(python自带的比如像os,sys等模块) 2.自定义模块,自己写的一些模块 3.第三方模块(开源模块) 模块导入方法: import module # 导入module模块下面的全部方法 from module.xx.xx import * # 导

python之路--内置常用模块

1. 简单的了解模块 你写的每一个py文件都是一个模块. 还有一些我们一直在使用的模块. buildins  内置模块. print, input. random  主要是和随机相关的的内容 random() 随机小数 uninform(a,b) 随机小数 randint(a,b) 随机整数 choice() 随机选择一个 sample() 随机选择多个 shuffle() 打乱 import random print(random.randint(10,20)) from random imp

Python不归路_文件操作(一)

Python文件操作 Python文件操作的语法是: open(file,mode,buffering,encoding,erros,newline,closefd) 我们先来看下各个参数, file:很明显,输入文件的路径. mode:mode参数有很多  r 以只读方式打开文件,默认参数  r+ 以读写方式打开文件   w 以写入方式打开文件,如果文件存在,先删除原文件,再创建文件:如果文件不存在直接创建  w+ 以读写方式打开文件,如果文件存在,先删除原文件,再创建文件:如果文件不存在直接

python之路---24 正则表达式 re模块

一.正则表达式 1.字符组 ① [abc] 匹配a或b或c ②  [a-z] 匹配a到z之间的所有字? [0-9]匹配所有阿拉伯数字 2.元字符 3.量词 4.重要搭配 ①  .*? ②  .*?x        找到下?个x为     ③  (?: 正则表达式)    非优先 5.分组 在正则中使?()进?分组. ?P<name>      对分组进行起名字 6.转义 r"正则表达式" 二.   re模块 1. findall 查找所有. 返回list .findall(

Python不归路_迭代器

迭代器: for循环可以对两类数据类型进行迭代: 1.比如list.tuple.dict.set等 2.带有yield关键字的函数或者能用__next__()进行调用的,也就是生成器 能被for调用的对象都是Iterable的,可以使用isinstance方法验证是不是Iterable from collections import Iterable a=[1,'b','c'] b={'name':'gally','age':23} isinstance(a,Iterable) isinstan

Python不归路_生成器

生成器:生成器是一次生成一个值的特殊类型函数.可以将其视为可恢复函数.调用该函数将返回一个可用于生成连续 x 值的生成器[Generator],生成器具有一边计算一边生生成的功能,起到节省空间的作用,真正能做到按需所取.来看下面这段代码: [ x**2 for x in range(20) ]输出结果: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361]-----------