一.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模块的常用函数的更多相关文章

  1. 关于 os模块的常用用法

    作为常用模块中的os模块,需要掌握的用法是非常重要的,今天就在这里把它归纳总结总结,以便自己日后的使用 一.os模块 含义:提供程序与操作系统直接操作的各个功能 二.常用的几个用法 os.getcwd ...

  2. python中的re模块,常用函数介绍

    参考: http://www.cnblogs.com/tina-python/p/5508402.htm ======== 1,预定义字符集,可以写在字符集[....]中 \d  数字: \D 非数字 ...

  3. python中os模块的常用接口和异常中Exception的运用

    1.os.path.join(arg1, arg2) 将arg1和arg2对应的字符串连接起来并返回连接后的字符串,如果arg1.arg2为变量,就先将arg1.arg2转换为字符串后再进行连接. 2 ...

  4. OS模块的常用内置方法

    chdir 修改当前工作目录到指定目录 Change the current working directory to the specified path. chmod 修改一个文件的访问权限 Ch ...

  5. python3 os模块的常用功能及方法总结

    1.os.getcwd()     #显示当前工作路径 2.os.listdir('dirname')    #返回指定目录下的所有文件和目录名 3.os.remove('filename')     ...

  6. python中os模块的walk函数

    Python的文档中对walk的介绍: walk(top, topdown=True, onerror=None, followlinks=False) 树状目录的生成器. 对于以top参数为根的目录 ...

  7. python os模块一些常用操作

    os.getcwd() ## 获取当前路径 os.chdir("dirpath") ## 改变目录 os.makedirs("dirname") ## 递归创建 ...

  8. Path模块部分常用函数解析——NodeJS

    官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...

  9. $python正则表达式系列(2)——re模块常用函数

    本文主要介绍正则re模块的常用函数. 1. 编译正则 import re p = re.compile(r'ab*') print '[Output]' print type(p) print p p ...

  10. numpy.random模块常用函数解析

    numpy.random模块中常用函数解析 numpy.random模块官方文档 1. numpy.random.rand(d0, d1, ..., dn)Create an array of the ...

随机推荐

  1. 突破开源Redis的内存限制,存算分离的GaussDB到底有多能“装”?

    摘要:GaussDB(for Redis)(下文简称高斯Redis)是华为云数据库团队自主研发的兼容Redis协议的云原生数据库,该数据库采用计算存储分离架构,突破开源Redis的内存限制,可轻松扩展 ...

  2. 【“互联网+”大赛华为云赛道】CloudIDE命题攻略:明确业务场景,快速开发插件

    摘要:基于华为云CloudIDE和插件开发框架自行设计并开发插件. IDE是每个开发人员必备的生产工具,一款好的IDE + 插件的组合,除了帮助开发者把编写代码.组织项目.编译运行放在一个环境中外,还 ...

  3. 华为云媒体査勇:华为云在视频AI转码领域的技术实践

    摘要:为大家介绍华为云媒体处理服务在视频AI转码领域的一些技术实践. 随着5G的落地和消费终端的不断升级,消费环节对视频画质的要求也越来越高,为了给消费者带来更清晰.更逼真和更具沉浸感的观感体验,对云 ...

  4. 为啥你写的代码老有大串的if/else?

    摘要:控制语句,到底何错之有呢? 本文分享自华为云社区<业务代码如何才能不再写出大串的if/else?>,作者: JavaEdge . 控制结构?没错!你最爱的 if.for都是一类坏味道 ...

  5. 音乐 APP 用户争夺战,火山引擎 VeDI 助力用户体验升级!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 国内数字音乐市场正在保持稳定增长. 根据华经产业研究院数据报告显示,2020 年数字音乐市场规模为 357.3 亿元,到 ...

  6. zsh踩坑记录

    1. zsh: no matches found: uvicorn[standard] 方法一 # 在~/.zshrc中添加下面这句话 setopt no_nomatch # 然后source ~/. ...

  7. svelte响应式原理

    svelte文件编译为js后的结构 源代码: <script lang="ts"> let firstName = '张' let lastName = '三' let ...

  8. CentOS7系统上安装升级Vim8

    基本步骤 1.卸载旧版vim yum remove vim* -y 2. 到Vim官方Github仓库下载目前最新的Vim Release版本 git clone https://github.com ...

  9. Windows线程开发

    Windows线程开发 1.线程基础 Windows线程是可以执行的代码实例.系统十一线程为单位调度程序.一个程序当中可以有多个线程,实现多个任务的处理. Windows线程的特点: 线程都具有1个I ...

  10. C 与 C++ 区别

    C 与 C++ 区别 本文介绍 C 与 C++ 之间重要的或者容易忽略的区别.尽管 C++ 几乎是 C 的超集,C/C++ 代码混用一般也没什么问题,但是了解 C/C++ 间比较重要区别可以避免碰到一 ...