一、前言

  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. Openerp负载平衡

    来自OpenERP 7.0 带来了许多新特性,架构上也有许多改进.其中可配置 worker 参数,可使 OpenERP 运行在多进程模式,突破GIL的限制,有效利用了现代多核CPU的性能.但默认情况下 ...

  2. Hadoop简介与伪分布式搭建—DAY01

    一.  Hadoop的一些相关概念及思想 1.hadoop的核心组成: (1)hdfs分布式文件系统 (2)mapreduce 分布式批处理运算框架 (3)yarn 分布式资源调度系统 2.hadoo ...

  3. 使用SharedPreference保存用户数据的步骤

    1. 声明 SharedPreferences sp; 2. 初始化 sp = this.getSharedPreferences("文件名", 0);//0代表的是私有 3. 获 ...

  4. 补间动画Tweened Animations

    本例子简单讲一下怎么用补间动画 1.在xml中定义好动画的资源文件,如下(注意把不同的效果放在一起可以一起用,同时起效果) <?xml version="1.0" encod ...

  5. 图解安卓-c++开发-通过java 调用c++ jni的使用

    接着上一节 ,很多事情用java做,效率要差一点(尤其是游戏),所以要用c++来实现,那么java如何调用c++ 首先建议一个工程 HelloJni如下图: 按照默认的配置下一步,直到完成 . 如下图 ...

  6. rails 5.2 启动警告 warning: previous definition of VERSION was here和bootsnap

    bootsnap依赖问题 You should add gem 'bootsnap' to your gemfile to install it or remove the line require ...

  7. JDK自带工具介绍

    JDK工具一览表 工具名称 功能描述 appletviewer.exe 用于运行并浏览applet小程序. apt.exe 注解处理工具(Annotation Processing Tool),主要用 ...

  8. 【BI】资料收集

    从无到有--什么是BI 什么是BI(Business Intelligence) - @我爱菊花 - 博客园 http://www.cnblogs.com/jiesin/archive/2008/06 ...

  9. java面试⑥框架部分

    2.5.1 什么是框架: 2.5.2 MVC模式 2.5.3 MVC框架 2.5.4 简单讲一下struts2的执行流程 2.5.5 Struts2中的拦截器,你都用它干什么? 2.5.6 简单讲一下 ...

  10. window.history的跳转实质-HTML5 history API 解析

    在上一浏览器跳转行为的测试中,我们看到了通过不同的方法操作浏览器跳转时,它的刷新表现有所不同,在这一文章中,将看看,为何会产生这样的不同?其背后的实质是什么?浏览器的访问历史记录到底是如何运作的呢? ...