open,os模块的常用函数
一.open用于读写文件
1.open的基本语法 : open(file,mode,buffering,encoding,errors.........),open中有如下几个参数,一般情况
下我们只需要file,mode,encoding即可。
- file: 必需,文件路径(相对或者绝对路径)
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
(1)file:要读写的文件
(2)mode:对文件使用的权限
r:只读,从开头开始
w:只写,覆盖替换原来的文件(a+v)
a:可写,指针指向末尾添加,不可读
rb:只读(读取的是二进制),二进制打开一个文件,指针指向开头
ab:只写(写入的是二进制),二进制打开一个文件,指针指向末尾
r+:可读,可写(指向开头,并替换开头的字符)
w+:可写,覆盖替换原来的文件(a+v),可读,默认指向末尾,可seek改变指针位置
a+:可写,指针指向末尾追加。可读,默认指向末尾,可seek改变指针位置
rb+:可写,指针指向开头,覆盖替换原来的内容(a+v)。可读,指针指向开头,读取二进制
wb+:可写,指针指向开头,覆盖替换原来的文件(a+v)。可读,默认指向末尾,可seek改变指针位置
ab+:可写,指针指向末尾追加,。可读,默认指向末尾,可seek改变指针位置
(3)encoding:编码,填写utf8即可
2.open中的方法与属性
name:获取文件名,即open中的值
mode:获取文件mode状态
encoding:获取encoding设置的编码
closed:检验资源是否关闭
write():写入内容
writelines():写入内容可以是list/set/字典/元组类型
read():读取文件内容,可传入int值,表示读取的数量
teel():查看当前指针指向的位置
seek(offset whence):设置指针位置,offset偏移位置,whence表示从哪个位置开始(0开头位置,
1当前位置,2结尾位置)
close():关闭
3.运用实例,对于以下写法,有些python版本可能会报错('encoding' is an invalid keyword argument for this function)
这个时候可以有两种解决办法(1.删除encoding=“utf8” 2.引入io库,在open前加上io.即可)

当我们使用write()写入的时候,可能还会报错(write() argument 1 must be unicode, not str/int),这是因为你输入的内容
是字符串或者int类型,不是bytes,大概原因是python默认编码导致的,一个万能的解决办法,在输入内容前加个u即可(
a.write(u"饭然超上到")
二.os模块基本函数(使用时需先用import导入os模块)
os.system():可写入命令
os.mkdir(path):创建目录
os.rmdir(path):删除目录
os.remove(path):移除目录
os.path.abspath(__file__):获取当前py文件绝对路径(__file__为python全局变量,表示当前文件)
os.getcwd():获取当前文件所在目录
os.chdir(path):修改当前文件路径
os.path.dirname(__file__):获取当前py文件所在的目录
os.path.join(path,"path"):在当前目录下追加目录
os.name:获取当前是什么系统,win打印出来的是nt,linux是posix
三.其它函数
a.replace("old","new")
a[2],a[1:5],a[:5]:截取字符串,下标从0开始
open,os模块的常用函数的更多相关文章
- 关于 os模块的常用用法
作为常用模块中的os模块,需要掌握的用法是非常重要的,今天就在这里把它归纳总结总结,以便自己日后的使用 一.os模块 含义:提供程序与操作系统直接操作的各个功能 二.常用的几个用法 os.getcwd ...
- python中的re模块,常用函数介绍
参考: http://www.cnblogs.com/tina-python/p/5508402.htm ======== 1,预定义字符集,可以写在字符集[....]中 \d 数字: \D 非数字 ...
- python中os模块的常用接口和异常中Exception的运用
1.os.path.join(arg1, arg2) 将arg1和arg2对应的字符串连接起来并返回连接后的字符串,如果arg1.arg2为变量,就先将arg1.arg2转换为字符串后再进行连接. 2 ...
- OS模块的常用内置方法
chdir 修改当前工作目录到指定目录 Change the current working directory to the specified path. chmod 修改一个文件的访问权限 Ch ...
- python3 os模块的常用功能及方法总结
1.os.getcwd() #显示当前工作路径 2.os.listdir('dirname') #返回指定目录下的所有文件和目录名 3.os.remove('filename') ...
- python中os模块的walk函数
Python的文档中对walk的介绍: walk(top, topdown=True, onerror=None, followlinks=False) 树状目录的生成器. 对于以top参数为根的目录 ...
- python os模块一些常用操作
os.getcwd() ## 获取当前路径 os.chdir("dirpath") ## 改变目录 os.makedirs("dirname") ## 递归创建 ...
- Path模块部分常用函数解析——NodeJS
官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...
- $python正则表达式系列(2)——re模块常用函数
本文主要介绍正则re模块的常用函数. 1. 编译正则 import re p = re.compile(r'ab*') print '[Output]' print type(p) print p p ...
- numpy.random模块常用函数解析
numpy.random模块中常用函数解析 numpy.random模块官方文档 1. numpy.random.rand(d0, d1, ..., dn)Create an array of the ...
随机推荐
- KubeEdge和Kuiper“双剑合并”,轻松解决边缘流式数据处理
摘要:KubeEdge 是一个开源的边缘计算平台,它在Kubernetes原生的容器编排和调度能力之上,扩展实现了 云边协同.计算下沉.海量边缘设备管理.边缘自治等能力.KubeEdge还将通过插件的 ...
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...
- 如何使用appuploader制作描述文件
如何使用appuploader制作描述文件 承接上文我们讲述了怎么制作证书,本文我们来看下怎么制作描述文件吧.制作描述文件前我们首先我们来添加一个测试设备,后面再制作描述文件. 1.添加测试设备 ...
- 开心档之MySQL 创建数据表
MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...
- 【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性 首页轮播图定时更新 课程前端页面
目录 上节回顾 字符编码 django-redis 今日内容 1 celery 执行异步任务,延迟任务,定时任务 延时任务 定时任务 2 django中使用celery 2.1 秒杀功能 2.1.1 ...
- 2021 年如何学习 Android,一位 5 年中大厂老哥跟你聊聊
本文首发我的微信公众号:程序员徐公 大家好,我是程序员徐公,加上实习,有五年中大厂经验.今天,我们一起来聊一聊如何自学 Android. 光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 And ...
- Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
背景: 在kafka集群上使用topic相关的命令时,报错: Exception in thread "main" joptsimple.UnrecognizedOptionExc ...
- Educational Codeforces Round 109 (Rated for Div. 2) 个人补题记录(A~D,AB思维,C模拟构造,D题DP)
补题链接:Here 1525A. Potion-making (思维 [题意描述] 作为一个魔法师,现在我想配置一杯药物浓度为 \(k\%\) 的药水, 每次操作能进行添加: 一升水 一升药物精华 作 ...
- 大数据(3)---HDFS客户端命令及java连接
一.参数设置 之前有说到HDFS的备份数量和切块大小都是可以配置的,默认是备份3,切块大小默认128M 文件的切块大小和存储的副本数量,都是由客户端决定! 所谓的由客户端决定,是通过客户端机器上面的配 ...
- C#查找算法2:插值查找
插值查找,有序表的一种查找方式.插值查找是根据查找关键字与查找表中最大最小记录关键字比较后的查找方法.插值查找基于二分查找,将查找点的选择改进为自适应选择,提高查找效率. 原理: (midInd ...