os

os.getcwd()

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

os.listdir(path)

os.listdir('/tmp')      # 列出指定目录下的文件和目录

os.mkdir(path [, mode=0777])

os.mkdir('/tmp/newtest')    #  创建新目录
os.mkdir('/tmp/ntest/test/test')    # 无法递归创建.  

os.rmdir(path)

os.rmdir('/tmp/newtest')    # 删除**空**目录  

os.remove(path)

os.remove('/tmp/newtest/readne.md')     # 删除指定*文件* ,而非目录

os.rename(src,dst)

os.rename("/tmp/newtest/readme.txt", '/tmp/newtest/readme.md')  # 给文件重命名

os.chmod(path,mod)

os.chmod('/tmp/newtest/readme.md', 0700) # 修改文件的权限, mod 为 4 位数字.

os.chown(path,uid,gid)

os.chown('/tmp/20170223/new',502,502)   # 修改文件的属主和属组

os.stat(path)

os.stat('/tmp/20170223/new')  # 查看文件的附加信息, 相当于 `$ls -l`
# 返回结果 :
# posix.stat_result(st_mode=33261, st_ino=141209, st_dev=64768, st_nlink=1, st_uid=502, st_gid=502, st_size=0, st_atime=1487818970, st_mtime=1487818970, st_ctime=1487819520)

os.stat('/tmp/20170223/new').uid
os.stat('/tmp/20170223/new').gid
os.stat('/tmp/20170223/new').mode
os.stat('/tmp/20170223/new').ino
os.stat('/tmp/20170223/new').dev
os.stat('/tmp/20170223/new').nlink
os.stat('/tmp/20170223/new').size
os.stat('/tmp/20170223/new').ctime
os.stat('/tmp/20170223/new').mtime
os.stat('/tmp/20170223/new').atime  

os.symlink(src,dst)

os.symlink('/tmp/20170223/new','/tmp/new')  # 为文件 dst 创建软连接, src 为软连接文件的路径.

os.path

import os.path
path = '/var/run/supervisord/supervisor.sock'

os.path.basename()

os.path.basename(path)      # 返回路径中的文件名 

os.path.dirname()

os.path.dirname(path)       # 返回路径中的目录

os.path.split()

print os.path.split(path)       # 将路径分割为文件名和路径两部分,放在一个元组中返回,  ('/var/run/supervisord', 'supervisor.sock')
path='/var/run/supervisord'     # 为目录
print os.path.split(path)       # ('/var/run', 'supervisord')

os.path.join()

os.path.join('/', 'home', 'tom', 'scripts', 'init.sh')  # '/home/tom/scripts/init.sh'
os.path.join('home', 'tom', 'scripts', 'init.sh')       # 'home/tom/scripts/init.sh'

os.path.commonprefix()

path = '/home/tom/scripts/init.sh'
path2 = '/home/tom/scripts/status.sh'
path3 = 'home/tom/scripts/init.sh'

os.path.commonprefix([path,path2])      # '/home/tom/scripts/'
os.path.commonprefix([path,path3])      # ''

os.path.normpath()

去除路径中的冗余

path = '/home/tom/../.'
os.path.normpath(path)      # '/home'

os.path.exists(path)

判断路径是否存在, 返回 布尔值

os.path.getsize()

返回文件大小, 单位字节

os.path.getatime()

返回文件上一次的读取时间, unix 时间戳

os.path.getmtime()

返回文件上一次的修改时间, unix 时间戳

os.path.isfile()

路径存在, 且是文件

os.path.isdir()

路径存在, 且是目录

获取进程相关信息

os.uname()     # 操作系统先关信息
os.umask()     # umask 权限码
os.get*()
    uid,euid,resuid,gid,egid,resgid : 权限相关, resuid 返回 saved UID.
    pid,pgid,ppod,sid : 进程相关
os.put*()
    edid,egid : 更改 euid,egid
    uid, gid : 改变进程的 uid,gid. 只用 super user 才有权限.( $sudo python )
    pgid,sid : 改变进程所在的进程组和会话.

os.getenviron() : 获得进程的环境变量
os.setenviron() : 更改进程的环境变量

python 标准库 -- os的更多相关文章

  1. Python标准库--os模块

    这个模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行.一个例 ...

  2. Python标准库 os

    (掌握os模块,你需要了解Linux或类Unix系统下常用命令的操作) os.name  指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' ...

  3. Python标准库os

    如果你希望自己的程序能够与平台无关的话,这个模块至关重要. os.name #'nt' for windows, 'posix' for linux/unix os.getcwd() #get cur ...

  4. Python标准库07 信号 (signal包,部分os包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习 ...

  5. Python标准库04 文件管理 (部分os包,shutil包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令 ...

  6. A Byte of Python 笔记(12)python 标准库:sys、os,更多内容

    第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...

  7. Python标准库09 当前进程信息 (部分os包)

    原文:Python标准库09 当前进程信息 (部分os包) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们在Linux的概念 ...

  8. Python -- 标准库 文件管理 (部分os包,shutil包)

    在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令.Python标准库则允许我们从Python内部管理文件.相同的目的,我们有了两条途径.尽管在Python调用标准库的 ...

  9. Python标准库14 数据库 (sqlite3)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.S ...

随机推荐

  1. hust1010 kmp

    There is a string A. The length of A is less than 1,000,000. I rewrite it again and again. Then I go ...

  2. 简介vsftpd及搭建配置

    一.简介 FTP(文件传输协议)全称是:Very Secure FTP Server.   Vsftpd是linux类操作系统上运行的ftp服务器软件. vsftp提供三种登陆方式:1.匿名登录  2 ...

  3. linux文件系统下的特殊权限

    SUID, SGID, Sticky 1 权限 r, w, x user, group, other 2 安全上下文 前提:进程有属主和属组:文件有属主和属组: (1) 任何一个可执行程序文件能不能启 ...

  4. redis集群安装部署

    (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 192.168.1.160:7000 192. ...

  5. java图片上传(mvc)

    最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.i ...

  6. 【SoDiaoEditor电子病历编辑器】阶段性更新--新增复选框、日期控件、表格排版支持等

    转眼距离上一次v2正式发布已经过去一个半月了.github期间不定期push了二十几次,同时感谢分布在广州.福建.上海.北京的一众小伙伴,正是你们给出的建议,才让SoDiaoEditor不断完善. 我 ...

  7. 通过rpm 安装MYSQL

    1.MYSQL Server端安装: 2.MYSQL client 安装 3.设置MYSQL密码(安装了MySql客户端才可以执行) ' 4.登录MYSQL mysql 的最简单的安装方法啦

  8. SpringBoot系列(一)RestTemplate

    作为springBoot的开篇系列,RestTemplate只能表示我只是个意外 what RestTemplate是spring提供的用于访问rest服务的客户端(其实类似Apache的HttpCl ...

  9. 数组去重,call、apply、bind之间的区别,this用法总结

    一.数组去重,直接写到Array原型链上. //该方法只能去除相同的数字 不会去判断24和'24'是不同的 所有数字和字符串数字是相同是重复的 Array.prototype.redup=functi ...

  10. Java基础知识二次学习--第七章 容器

    第七章 容器   时间:2017年4月27日15:08:30 章节:07章01节~07章04节 视频长度:20:21 +12:38 +3:55 +2:57 内容:容器API 心得: Java API ...