【原创】《笨办法学python》(11)----关于OS和SYS模块

 

资源来源:

https://www.zhihu.com/question/31843617/answer/150854646

https://blog.csdn.net/qq_36864672/article/details/78091486?utm_source=blogxgwz0

 

 

最常用的OS和SYS库区别:

os与sys模块的官方解释如下:

os: This module provides a portable way of using operating system dependent functionality.

这个模块提供了一种方便的使用操作系统函数的方法。

sys: This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数。

os操作文件目录。

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;

sys针对系统环境的交互

sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

 

 

os 常用方法

第1部分来源:https://www.zhihu.com/question/31843617/answer/150854646

os.remove() 删除文件

os.rename() 重命名文件

os.walk() 生成目录树下的所有文件名

os.chdir() 改变目录

os.mkdir/makedirs 创建目录/多层目录

os.rmdir/removedirs 删除目录/多层目录

os.listdir() 列出指定目录的文件

os.getcwd() 取得当前工作目录

os.chmod() 改变目录权限

os.path.basename() 去掉目录路径,返回文件名

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

os.path.join() 将分离的各部分组合成一个路径名

os.path.split() 返回( dirname(), basename())元组

os.path.splitext() 返回 (filename, extension) 元组

os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间

os.path.getsize() 返回文件大小

os.path.exists() 是否存在

os.path.isabs() 是否为绝对路径

os.path.isdir() 是否为目录

os.path.isfile() 是否为文件

 

第2部分来源:https://blog.csdn.net/qq_36864672/article/details/78091486?utm_source=blogxgwz0

os模块主要对目录或文件操作。

方法描述示例
os.name返回操作系统类型返回值是"posix"代表linux,"nt"代表windows
os.extsep返回一个"."标识符 
os.environ以字典形式返回系统变量 
os.devnull返回/dev/null标识符 
os.linesep返回一个换行符"\n">>> print "a" + os.linesep + "b"
  a
  b
os.sep返回一个路径分隔符正斜杠"/">>> "a" + os.sep + "b"
  'a/b'
os.listdir(path)列表形式列出目录 
os.getcwd()获取当前路径>>> os.getcwd()
  '/home/user'
os.chdir(path)改变当前工作目录到指定目录>>> os.chdir('/opt')
  >>> os.getcwd()
  '/opt'
os.mkdir(path [, mode=0777])创建目录>>> os.mkdir('/home/user/test')
os.makedirs(path [, mode=0777])递归创建目录>>> os.makedirs('/home/user/abc/abc')
os.rmdir(path)移除空目录>>> os.makedirs('/home/user/abc/abc')
os.remove(path)移除文件 
os.rename(old, new)重命名文件或目录 
os.stat(path)获取文件或目录属性 
os.chown(path, uid, gid)改变文件或目录所有者 
os.chmod(path, mode)改变文件访问权限>>> os.chmod('/home/user/c/a.tar.gz', 0777) 
os.symlink(src, dst)创建软链接 
os.unlink(path)移除软链接>>> os.unlink('/home/user/ddd')
urandom(n)返回随机字节,适合加密使用>>> os.urandom(2)
  '%\xec'
os.getuid()返回当前进程UID 
os.getlogin()返回登录用户名 
os.getpid()返回当前进程ID 
os.kill(pid, sig)发送一个信号给进程 
os.walk(path)目录树生成器,返回格式:(dirpath, [dirnames], [filenames])>>> for root, dir, file in os.walk('/home/user/abc'):
  ...   print root
  ...   print dir
  ...   print file
  os.statvfs(path)
   
os.system(command)执行shell命令,不能存储结果 
popen(command [, mode='r' [, bufsize]])打开管道来自shell命令,并返回一个文件对象>>> result = os.popen('ls')
  >>> result.read()

os.path类用于获取文件属性。

方法描述示例
os.path.basename(path)返回最后一个文件或目录名>>> os.path.basename('/home/user/a.sh')
'a.sh'  
os.path.dirname(path)返回最后一个文件前面目录>>> os.path.dirname('/home/user/a.sh')
'/home/user'  
os.path.abspath(path)返回一个绝对路径>>> os.path.abspath('a.sh')
'/home/user/a.sh'  
os.path.exists(path)判断路径是否存在,返回布尔值>>> os.path.exists('/home/user/abc')
  TRUE
os.path.isdir(path)判断是否是目录 
os.path.isfile(path)判断是否是文件 
os.path.islink(path)判断是否是链接 
os.path.ismount(path)判断是否挂载 
os.path.getatime(filename)返回文件访问时间戳>>> os.path.getctime('a.sh')
  1475240302
os.path.getctime(filename)返回文件变化时间戳 
os.path.getmtime(filename)返回文件修改时间戳 
os.path.getsize(filename)返回文件大小,单位字节 
os.path.join(a, *p)加入两个或两个以上路径,以正斜杠"/"分隔。常用于拼接路径>>> os.path.join('/home/user','test.py','a.py')
  '/home/user/test.py/a.py'
os.path.split(分隔路径名>>> os.path.split('/home/user/test.py')
  ('/home/user', 'test.py')
os.path.splitext(分隔扩展名>>> os.path.splitext('/home/user/test.py')
  ('/home/user/test', '.py')

 

 

 

 

sys 常用方法

https://www.zhihu.com/question/31843617/answer/150854646

sys.argv 命令行参数List,第一个元素是程序本身路径

参数传入的时候,可以带逗号或不带,

argv[0] #代表本身名字  脚本本身路径

argv[1] #第一个参数

argv[2] #第二个参数

argv[3] #第三个参数

argv[N] #第N个参数

# -*- coding:utf-8 -*-

from sys import argv      # 不用sys.argv,只输入argv即可以被辨认
#import sys               #只输入import 就会要求输入SYS的方法带sys.比如 sys.argv
script,first,second,third=argv

print "the script is called:" ,script
print "the first var is :" ,first
print "the second var is :" ,second
print "the third var is :" ,third

print argv[0]
print argv[1]
print argv[2]
print argv[3]
print argv
print len(argv)
print len(argv[1:])   #因为实际参数的个数,不需要包含模块文件名自身。

sys.modules.keys() 返回所有已经导入的模块列表

sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

sys.exit(n) 退出程序,正常退出时exit(0)

sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0

sys.version 获取Python解释程序的版本信息

sys.maxint 最大的Int值

sys.maxunicode 最大的Unicode值

sys.modules 返回系统导入的模块字段,key是模块名,value是模块

sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform 返回操作系统平台名称

sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息

sys.exec_prefix 返回平台独立的python文件安装的位置

sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'

sys.copyright 记录python版权相关的东西

sys.api_version 解释器的C的API版本

sys.stdout 标准输出

sys.stdin 标准输入

sys.stderr 错误输出

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值