一、前言

  io的内容其实还是有很多的,现在我也只是了解初步用法,当然详细内容还是应该参照官方api的:

二、文件基本操作

  文件的基本操作可以使用os和shuitl模块,里面有基本的函数满足一般要求。

  • os.makedirs():创建文件夹,中间不存在的也会创建
  • os.path.abspath(path):返回路径的绝对路径,可用于相对转绝对
  • os.path.getsize(path):查看文件的字节数
  • os.path.isfile(path):判断是否存在并是一个文件
  • os.path.isdir(path):判断是否是存在并是一个文件夹
  • os.path.exists(path):判断是否存在
  • os.rename(current_file_name, new_file_name):重命名文件
  • os.remove(file_name):删除文件
  • shuitl.copy(src, dst):拷贝文件
  • shuitl.copytree(src, dst):拷贝文件夹

  其他详见api。

三、内容基本操作

  首先必须熟练应用全局函数open用来获取文件(夹)对象,函数定义:

File open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  虽然参数很多,但是可以看到,除了file的路径以外,其他的全部都有默认值。

mode:

    • r:打开只读,指针在文件头
    • w:打开写入,若文件以存在则覆盖
    • a:打开写入,若文件存在则追加到末尾
    • b:二进制模式,用于和其他模式组合,如rb、wb、ab等
    • +:打开文件用于读写

buffering:

    • 0:关闭缓冲,仅在二进制模式下允许
    • 1:选择行缓冲,仅在文本模式下可用

encoding:默认编码和平台相关

newline:行分割,默认为换行符

  获得File对象以后就可以调用方法进行操作了。

  • file.read():从文件读取指定的字节数,如果未给定或为负则读取所有。
  • file.readline([size]):读取整行
  • file.next():读取下一行
  • file.readlines():读取所有行成一个字符串列表,每个字符串为一行内容(包括换行符)
  • file.write(str):写入内容,不会自动添加换行符
  • file.close():关闭打开的文件
  • file.tell():获得当前指针的位置
  • file.seek(offset[, whence]):设置文件当前位置
  • file.flush():刷新缓冲区
  • file.truncate([size]):截取文件,截取的字节通过size指定,默认为当前文件位置。

  掌握这些就可以了,当然还是要以多看文档为主。

【Python】Java程序员学习Python(十一)— IO的更多相关文章

  1. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  2. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  3. 【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

  4. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  5. 【Python】Java程序员学习Python(十)— 类、包和模块

    我觉得学习到现在应该得掌握Python的OOP编程了,但是现在还没有应用到,先留一个坑. 一.类和对象 说到类和对象其实就是在说面向对象编程,学完Java以后我觉得面向对象编程还是很不错的,首先封装了 ...

  6. 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)

    如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...

  7. 【Python】Java程序员学习Python(一)— 为什么学习Python

    现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要 ...

  8. 【Python】Java程序员学习Python(四)— 内置方法和内置变量

    <假如爱有天意> 当天边那颗星出现,你可知我又开始想念,有多少爱恋只能遥遥相望,就像月光洒向海面,年少的我们曾以为,相爱的人就能到永远,当我们相信情到深处在一起,听不见风中的叹息,谁知道爱 ...

  9. 【Python】Java程序员学习Python(九)— 集合(list、tuple、range)和映射(dict)

    集合是一门语言最重要的一个特性,对集合支持的程度越好,使用起来越方便 一.表现形式 1.1 list list的基本用法: 使用中括号包裹,[1,2,3] 元素类型可以是任意类型,同样可以是list ...

随机推荐

  1. hive算法报错..

    hive普通语句查询报错.. 查到以下设定项,,附加在语句前执行成功.. 但是有可能没有真正的执行.. 试到最后使用标红的三行附加在语法前执行成功 set hive.execution.engine= ...

  2. Android自定义View创建流程

    Android的framework提供了很多高质量的view,有时业务需求需要自定义View,其实现流程大致如下: 1.在values/attrs.xml中定义支持的自定义属性,示例如下:

  3. python 批量模块导入(笔记)

    环境:python3.6 目的:根据列表['os', 'sys', 're']中的字符串导入对应模块 from importlib import import_module modules = ['o ...

  4. 【bat/cmd】脚本开发

    0. 开篇 bat/cmd 均是window操作系统下,两者都是通过文本方式编辑,创建以及查看.均是命令的集合.bat与cmd有什么区别呢 ? 1) cmd文件允许使用的命令比bat多,但是只有在wi ...

  5. Vue.js系列之一初识Vue

    在看vue.js之前,可以先看这两篇文章,对于为什么要使用vue会有一定帮助 1.Vue.js !important 2.界面之下:还原真实的MV*模式 !important 3.web前端优化之re ...

  6. springclould nginx转发 websocket400报错问题

    之前一直找原因一直围绕着nginx转发的问题 说头信息没设置全 然后nginx配置文件上加了这些 #http块加以下几行: map $http_upgrade $connection_upgrade ...

  7. android Butter Knife 使用详解

    Butter Knife github连接:https://github.com/JakeWharton/butterknife 本文使用的butterknife版本7.0.1 butterknife ...

  8. js验证整数,浮点数

    //验证数字(整数.浮点数都可以通过) function isfloat(oNum){ if(!oNum) return false; var strP=/^\d+(\.\d+)?$/; if(!st ...

  9. 关于gcc编译器中函数不用进行原型声明的解释

    经过大量实验和参考网上的说法得出一个结论: gcc编译器中,函数可以不用提前进行原型声明,编译器会把函数调用同时认为是声明.需要注意的是,由于函数调用的时候并没有写明函数返回值,这是gcc把调用当成声 ...

  10. CentOS探索之路3---安装python3

    安装Python3 总述 ​ 一般来说Linux类型的操作系统都会自带安装python,但是系统默认安装的python都是2.x的版本.而现在一般使用的是python3.x版本,相比于python2. ...