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. CSS中的字体设置

    五大类:serif, sans-serif, monospace, cursive, fantasy serif 衬线字体,如 Big Caslon, 宋体 sans-serif 非衬线字体,如 He ...

  2. Vue项目的部署

    通过vue-cli创建的工程,默认已经打好了基础,包含vue-loader webpack. 通常我们开发中,使用npm run dev进行开发,webpack会Hot reload,不用我们手动刷新 ...

  3. 1019 Least Common Multiple

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  4. [ABP实战开源项目]--YoYoCms目录

    ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WE ...

  5. mac下安装MySQL完整步骤(图文详情)

    原文摘自:http://www.jb51.net/article/103841.htm 最近使用Mac系统,准备搭建一套本地web服务器环境.因为Mac系统自带PHP和apach,但是没有自带mysq ...

  6. SSH协议(转载)

    一. SSH是什么? SSH的全称是Secure Shell, 是一种"用来在不安全的网络上安全地运行网络服务的一种加密网络协议". 简单说,SSH是一种网络协议,用于计算机之间的 ...

  7. java中几种获取项目路径方式

    转自http://caodaoxi.iteye.com/blog/1234805     在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录 ...

  8. Swift 入门之简单语法(二)

    可选项判断 由于可选项的内容可能为 nil,而一旦为 nil 则不允许参与计算 因此使用中,经常需要判断可选项的内容是否为 nil 单个可选项判断 let url = NSURL(string: &q ...

  9. Sampling Distributions and Central Limit Theorem in R(转)

    The Central Limit Theorem (CLT), and the concept of the sampling distribution, are critical for unde ...

  10. node async基础1

    async的基础使用 1 async each   语法格式each(collection, iteratee, [callback])   用途:遍历集合中的元素,并行对每个元素执行一定的操作,但是 ...