python常用库总结(一):os

python第三方库下载链接

https://www.lfd.uci.edu/~gohlke/pythonlibs/.

os

转载自:https://www.cnblogs.com/pingqiang/p/7817983.html
https://www.runoob.com/python/os-file-methods.html

  • 通过os模块调用系统命令。os模块可以跨平台使用。

  • 在 import os的时候,建议使用import os而非from os import *。这样可以避免os.open()不会覆盖内置函数open().

os.chdir(path)

import os
print os.getcwd()

os.chdir(/tmp/aaa)  #改变当前路径

print os.getcwd()

os.environ

print(os.environ['PATH'])
os.environ += 'D:/testdir/bin/'   #可以获取并修改环境变量
print(os.environ["PATH"])

os.getcwd()

import os
a = os.getcwd()  #返回当前绝对路径,返回类型为str
print a

os.getenv()

os.getenv('PATH')  #用来获得环境变量

os.linesep

  • 获取当前平台使用的行终止符。例如,Windows 使用\r\n,Linux 使用\n而 Mac 使用\r。

os.listdir(path)

  • 返回指定的文件夹包含的文件或文件夹的名字的列表,这个列表以字母顺序。
  • 可以使用绝对路径,也可以使用相对路径,但是要在前面加 ( . )
  • “ \ ” 还是 “ / ” 没有影响
import os
a = os.listdir('/tmp')  #打印指定目录的文件,返回一个列表
print a

os.mkdir()

摘自:https://blog.csdn.net/qq_40229981/article/details/84142194
os.mkdir(path [, mode=0755]),默认权限是0755

# 在 path 这个路径下创建一个新的 file1 文件夹,如果目录已存在,会异常
import os
path = r'C:\Users\Administrator\Desktop\test' 
os.mkdir(path + './file1')
# 在 path 这个路径下创建三个新文件夹('file1','file2','file3')
import os
file_name = ['./file1','./file2','./file3']
path = r'C:\Users\Administrator\Desktop\test'
for name in file_name:
    os.mkdir(path+name)

os.makedirs()

  • os.makedirs() 用于创建多级目录(即多层文件夹);
  • 如果文件夹已经存在,则不能再新创建文件夹,运行时会报错;
  • r’C:\Users\Administrator\Desktop\test’ 中的 r 声明其后字符串不需要转义,因为 ** \ ** 在被做为转义字符使用;
  • 所有关于文件夹的操作文件夹前面要加 ‘./’ 或者 ‘/’ ,如 ‘./file1’ , ‘/file1’。
# 在 path 这个路径下创建多层目录
import os
path = r'C:\Users\Administrator\Desktop\test'
os.makedirs(path + './file1' + './file1_1' + './file1_1_1')

os.name()

import os
print os.name    #判断系统类型

# linux和Unix系统会返回`posix`
# windows 系统会返回`nt`

os.popen()

popen也是去执行一个命令,不过相比system(cmd),os.popen(command [, mode=‘r’ [, bufsize]]),参数更多,而且是开启一个管道去执行。

cmd - 执行的命令
mode - 模式权限可以是’r’(默认)或’w’
buffering - 0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。

import os
cmd = 'mkdir nwdir'
a = os.popen(cmd)
print a
print type(a)


#返回结果
#<os._wrap_close object at 0x105af0860>
#<class 'os._wrap_close'>

os.remove(path)

  • 删除文件,只能删除文件

os.rmdir(path)

  • 删除目录,只能删除目录

os.system()

import os

cmd = 'ifconfig'   #用于显示或配置网络设备(网络接口卡)的命令

retval = os.system(cmd)   #执行系统命令的模块,返回命令执行的状态码,开启一个子shell执行命令

print retval

# 结果为 0
# 表示命令执行成功,否则为失败

os.seq

  • 获得当前操作系统使用的目录分隔符,比如 Windows 就会得到\而 Linux/Unix 就会得到/

os.walk

摘自:https://www.runoob.com/python/os-walk.html

  • os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
  • os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。在Unix,Windows中有效。
  • os.walk()没有返回值。
  • 参数:os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
  • top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
  • topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
  • onerror – 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
  • followlinks – 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

示例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        print(os.path.join(root, name))
    for name in dirs:
        print(os.path.join(root, name))

os.path

os.path子库以path为入口,用于操作和处理文件路径。

  • os.path.abspath(path) 返回绝对路径
import os
print os.path.abspath('.')

#结果
D:\Python\project
  • os.path.basename(path) 返回文件名
import os
print os.path.basename('D:\Python\project')  #返回文件名,类似linux中的basename命令

#结果
project
  • os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径

  • os.path.dirname(path) 返回文件路径

import os
print os.path.dirname('D:\Python\project')  #返回文件路径,不包含文件名,类似linux中的dirname命令

#结果
D:\Python
  • os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
a = 'D:\Python\project11111'

print os.path.exists(a)   #判断路径是否存在,存在返回True,不存在返回False

#结果
False
  • os.path.lexists 路径存在则返回True,路径损坏也返回True
  • os.path.expanduser(path) 把path中包含的""和"user"转换成用户目录
  • os.path.expandvars(path) 根据环境变量的值替换path中包含的" n a m e &quot; 和 &quot; name&quot;和&quot; name""{name}"
  • os.path.getatime(path) 返回最近访问时间(浮点型秒数)
  • os.path.getmtime(path) 返回最近文件修改时间
  • os.path.getctime(path) 返回文件 path 创建时间
  • os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误
  • os.path.isabs(path) 判断是否为绝对路径
  • os.path.isfile(path) 判断路径是否为文件
print(os.path.isfile('D:/game/gtav/bin/gtav.exe'))
  • os.path.isdir(path) 判断路径是否为目录
  • os.path.islink(path) 判断路径是否为链接
  • os.path.ismount(path) 判断路径是否为挂载点
  • os.path.join(path1[, path2[, …]]) 把目录和文件名合成一个路径
  • os.path.normcase(path) 转换path的大小写和斜杠
  • os.path.normpath(path) 规范path字符串形式
  • os.path.realpath(path) 返回path的真实路径
  • os.path.relpath(path[, start]) 从start开始计算相对路径
  • os.path.samefile(path1, path2) 判断目录或文件是否相同
  • os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件
  • os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件
  • os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组
path = 'D:/game/gtav/bin/gtav.exe'
print(os.path.split(path)[0])  #获得一个列表,list[0] 是路径的,list[1] 是文件名
print(os.path.split(path)[1])
  • os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组
  • os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组
  • os.path.splitunc(path) 把路径分割为加载点与文件
  • os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
  • os.path.supports_unicode_filenames 设置是否支持unicode路径名
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值