博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python os sys模块(二)
阅读量:6906 次
发布时间:2019-06-27

本文共 5486 字,大约阅读时间需要 18 分钟。

os模块

转自  https://www.cnblogs.com/sunyang945/p/7900957.html

#OS模块#os模块就是对操作系统进行操作,使用该模块必须先导入模块:import os#getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)result = os.getcwd()print(result)#chdir()改变当前工作目录os.chdir('/home/sy')result = os.getcwd()print(result)open('02.txt','w')#操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作open('/home/sy/下载/02.txt','w')#listdir() 获取指定文件夹中所有内容的名称列表result = os.listdir('/home/sy')print(result)#mkdir()  创建文件夹#os.mkdir('girls')#os.mkdir('boys',0o777)#makedirs()  递归创建文件夹#os.makedirs('/home/sy/a/b/c/d')#rmdir() 删除空目录#os.rmdir('girls')#removedirs 递归删除文件夹  必须都是空目录#os.removedirs('/home/sy/a/b/c/d')#rename() 文件或文件夹重命名#os.rename('/home/sy/a','/home/sy/alibaba'#os.rename('02.txt','002.txt')#stat() 获取文件或者文件夹的信息#result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)#print(result)#system() 执行系统命令(危险函数)#result = os.system('ls -al')  #获取隐藏文件#print(result)#环境变量'''环境变量就是一些命令的集合操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合'''#getenv() 获取系统的环境变量result = os.getenv('PATH')print(result.split(':'))#putenv() 将一个目录添加到环境变量中(临时增加仅对当前脚本有效)#os.putenv('PATH','/home/sy/下载')#os.system('syls')#exit() 退出终端的命令#os模块中的常用值#curdir  表示当前文件夹   .表示当前文件夹  一般情况下可以省略print(os.curdir)#pardir  表示上一层文件夹   ..表示上一层文件夹  不可省略!print(os.pardir)#os.mkdir('../../../man')#相对路径  从当前目录开始查找#os.mkdir('/home/sy/man1')#绝对路径  从根目录开始查找#name 获取代表操作系统的名称字符串print(os.name) #posix -> linux或者unix系统  nt -> window系统#sep 获取系统路径间隔符号  window ->\    linux ->/print(os.sep)#extsep 获取文件名称和后缀之间的间隔符号  window & linux -> .print(os.extsep)#linesep  获取操作系统的换行符号  window -> \r\n  linux/unix -> \nprint(repr(os.linesep))#导入os模块import os#以下内容都是os.path子模块中的内容#abspath()  将相对路径转化为绝对路径path = './boys'#相对result = os.path.abspath(path)print(result)#dirname()  获取完整路径当中的目录部分  &  basename()获取完整路径当中的主体部分path = '/home/sy/boys'result = os.path.dirname(path)print(result)result = os.path.basename(path)print(result)#split() 将一个完整的路径切割成目录部分和主体部分path = '/home/sy/boys'result = os.path.split(path)print(result)#join() 将2个路径合并成一个var1 = '/home/sy'var2 = '000.py'result = os.path.join(var1,var2)print(result)#splitext() 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀path = '/home/sy/000.py'result = os.path.splitext(path)print(result)#getsize()  获取文件的大小#path = '/home/sy/000.py'#result = os.path.getsize(path)#print(result)#isfile() 检测是否是文件path = '/home/sy/000.py'result = os.path.isfile(path)print(result)#isdir()  检测是否是文件夹result = os.path.isdir(path)print(result)#islink() 检测是否是链接path = '/initrd.img.old'result = os.path.islink(path)print(result)#getctime() 获取文件的创建时间 get create time#getmtime() 获取文件的修改时间 get modify time#getatime() 获取文件的访问时间 get active timeimport timefilepath = '/home/sy/下载/chls'result = os.path.getctime(filepath)print(time.ctime(result))result = os.path.getmtime(filepath)print(time.ctime(result))result = os.path.getatime(filepath)print(time.ctime(result))#exists() 检测某个路径是否真实存在filepath = '/home/sy/下载/chls'result = os.path.exists(filepath)print(result)#isabs() 检测一个路径是否是绝对路径path = '/boys'result = os.path.isabs(path)print(result)#samefile() 检测2个路径是否是同一个文件path1 = '/home/sy/下载/001'path2 = '../../../下载/001'result = os.path.samefile(path1,path2)print(result)#os.environ 用于获取和设置系统环境变量的内置值import os#获取系统环境变量  getenv() 效果print(os.environ['PATH'])#设置系统环境变量 putenv()os.environ['PATH'] += ':/home/sy/下载'os.system('chls')

sys模块

sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧!

sys模块的常见函数列表

  • 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 ), 或者以非标准的方式处理它们

sys.argv

功能:在外部向程序内部传递参数

示例:sys.py

#!/usr/bin/env pythonimport sysprint sys.argv[0]print sys.argv[1]

 

运行:

# python sys.py argv1sys.pyargv1

 

自己动手尝试一下,领悟参数对应关系

sys.exit(n)

功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)

示例:exit.py

#!/usr/bin/env pythonimport sysdef exitfunc(value):    print value    sys.exit(0)print "hello"try:    sys.exit(1)except SystemExit,value:    exitfunc(value)print "come?"

 

运行:

# python exit.pyhello1

 

sys.path

功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

示例:

>>> import sys>>> sys.path['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

 

sys.path.append("自定义模块路径")

sys.modules

功能:sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。

示例:modules.py

#!/usr/bin/env pythonimport sysprint sys.modules.keys()print sys.modules.values()print sys.modules["os"]

 

运行:

python modules.py['copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__',......

 

sys.stdin\stdout\stderr

功能:stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

转载于:https://www.cnblogs.com/cornerxin/p/8514392.html

你可能感兴趣的文章
《CLR Via C# 第3版》笔记之(二十三) - 线程锁和线程安全的概念
查看>>
Meta标签详解
查看>>
Kaggle : Display Advertising Challenge( ctr 预估 )
查看>>
jquery stop( ) 的用法 (转)
查看>>
【js】性能问题
查看>>
JS引擎线程的执行过程的三个阶段(一)
查看>>
Spark RDD Transformation 简单用例(三)
查看>>
ES6(1)
查看>>
成为Java GC专家(5)—Java性能调优原则
查看>>
作业——05 理解爬虫原理
查看>>
泛型算法的一些总结
查看>>
python 列表操作
查看>>
ServletContext和ServletConfig
查看>>
moveit setup assistant
查看>>
10种常见的软件架构模式
查看>>
SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
查看>>
solrr初步了解 ...
查看>>
SDNU 1279.※N
查看>>
Django之路由系统
查看>>
mysql 查询当天的数据库
查看>>