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 ...
随机推荐
- 突破开源Redis的内存限制,存算分离的GaussDB到底有多能“装”?
摘要:GaussDB(for Redis)(下文简称高斯Redis)是华为云数据库团队自主研发的兼容Redis协议的云原生数据库,该数据库采用计算存储分离架构,突破开源Redis的内存限制,可轻松扩展 ...
- 【“互联网+”大赛华为云赛道】CloudIDE命题攻略:明确业务场景,快速开发插件
摘要:基于华为云CloudIDE和插件开发框架自行设计并开发插件. IDE是每个开发人员必备的生产工具,一款好的IDE + 插件的组合,除了帮助开发者把编写代码.组织项目.编译运行放在一个环境中外,还 ...
- 华为云媒体査勇:华为云在视频AI转码领域的技术实践
摘要:为大家介绍华为云媒体处理服务在视频AI转码领域的一些技术实践. 随着5G的落地和消费终端的不断升级,消费环节对视频画质的要求也越来越高,为了给消费者带来更清晰.更逼真和更具沉浸感的观感体验,对云 ...
- 为啥你写的代码老有大串的if/else?
摘要:控制语句,到底何错之有呢? 本文分享自华为云社区<业务代码如何才能不再写出大串的if/else?>,作者: JavaEdge . 控制结构?没错!你最爱的 if.for都是一类坏味道 ...
- 音乐 APP 用户争夺战,火山引擎 VeDI 助力用户体验升级!
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 国内数字音乐市场正在保持稳定增长. 根据华经产业研究院数据报告显示,2020 年数字音乐市场规模为 357.3 亿元,到 ...
- zsh踩坑记录
1. zsh: no matches found: uvicorn[standard] 方法一 # 在~/.zshrc中添加下面这句话 setopt no_nomatch # 然后source ~/. ...
- svelte响应式原理
svelte文件编译为js后的结构 源代码: <script lang="ts"> let firstName = '张' let lastName = '三' let ...
- CentOS7系统上安装升级Vim8
基本步骤 1.卸载旧版vim yum remove vim* -y 2. 到Vim官方Github仓库下载目前最新的Vim Release版本 git clone https://github.com ...
- Windows线程开发
Windows线程开发 1.线程基础 Windows线程是可以执行的代码实例.系统十一线程为单位调度程序.一个程序当中可以有多个线程,实现多个任务的处理. Windows线程的特点: 线程都具有1个I ...
- C 与 C++ 区别
C 与 C++ 区别 本文介绍 C 与 C++ 之间重要的或者容易忽略的区别.尽管 C++ 几乎是 C 的超集,C/C++ 代码混用一般也没什么问题,但是了解 C/C++ 间比较重要区别可以避免碰到一 ...