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 ...
随机推荐
- 万字长文|Hadoop入门笔记(附资料)
大数据迅速发展,但是Hadoop的基础地位一直没有改变.理解并掌握Hadoop相关知识对于之后的相关组件学习有着地基的作用.本文整理了Hadoop基础理论知识与常用组件介绍,虽然有一些组件已经不太常用 ...
- 这两种完全不同的JPEG加载方式,你肯定见过!
现如今网站所使用的的图片格式多种多样,但是有一种图片格式占到了 74% 的使用量.它就是 JPEG,即联合图像专家组.这类文件的后缀通常为 .jpg 或 .jpeg,是摄影中常见的图片类型. JPEG ...
- 安装Amos结构方程模型分析软件的方法
本文介绍IBM SPSS Amos软件的安装方法. Amos是IBM公司旗下一款强大的结构方程建模软件.其捆绑在高级版的SPSS Statistics软件中,但其它版本的SPSS Statis ...
- spring中的核心类有那些,各有什么作用?
BeanFactory:产生一个新的实例,可以实现单例模式BeanWrapper:提供统一的get及set方法ApplicationContext:提供框架的实现,包括BeanFactory的所有功能 ...
- 【驱动】SPI驱动分析(四)-关键API解析
关键API 设备树 设备树解析 我们以Firefly 的SPI demo 分析下dts中对spi的描述: /* Firefly SPI demo */ &spi1 { spi_demo: sp ...
- 《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab
这是CSAPP的第四个实验,这个实验比较有意思,也比较难.通过这个实验我们可以更加熟悉GDB的使用和机器代码的栈和参数传递机制. @ 目录 实验目的 准备工作 内容简介 代码注入攻击 Level 1 ...
- S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统
上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核,这节来根据继续修改内核. 启动内核 内核启动的打印信息如下图所示 可以看到内核有8个分区,而我们的u ...
- S3C2440移植uboot之支持NAND启动
上一节S3C2440移植uboot之新建单板_时钟_SDRAM_串口移植uboot初始化了时钟,配置了支持串口,这一节我们继续修改uboot支持NAND启动. 目录 1.去掉 "-pie ...
- P1765
和那道题一样,这次用的getchar,结果对了可是洛谷评测WA了,换成scanf单个字符,结果还是WA了,换成直接getline读入整个字符串就对了. 可见读入单个字符的方式有可能出现各种小错,尤其是 ...
- P5719 水题
https://www.luogu.com.cn/problem/P5719 唠唠:别看这题很水,且只要求保留小数点后一位,倘若用float而不是double的话就无法AC,洛谷评测则只有40分.所以 ...