【Python】Java程序员学习Python(十一)— IO
一、前言
io的内容其实还是有很多的,现在我也只是了解初步用法,当然详细内容还是应该参照官方api的:
- 官方api:https://docs.python.org/3/library/os.html。
- 中文api:http://python.usyiyi.cn/translate/python_352/library/os.html。
二、文件基本操作
文件的基本操作可以使用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的更多相关文章
- 【Python】Java程序员学习Python(五)— 函数的定义和使用
不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...
- 【Python】Java程序员学习Python(二)— 开发环境搭建
巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...
- 【Python】Java程序员学习Python(三)— 基础入门
一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...
- 【Python】Java程序员学习Python(十)— 类、包和模块
我觉得学习到现在应该得掌握Python的OOP编程了,但是现在还没有应用到,先留一个坑. 一.类和对象 说到类和对象其实就是在说面向对象编程,学完Java以后我觉得面向对象编程还是很不错的,首先封装了 ...
- 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)
如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...
- 【Python】Java程序员学习Python(一)— 为什么学习Python
现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要 ...
- 【Python】Java程序员学习Python(四)— 内置方法和内置变量
<假如爱有天意> 当天边那颗星出现,你可知我又开始想念,有多少爱恋只能遥遥相望,就像月光洒向海面,年少的我们曾以为,相爱的人就能到永远,当我们相信情到深处在一起,听不见风中的叹息,谁知道爱 ...
- 【Python】Java程序员学习Python(九)— 集合(list、tuple、range)和映射(dict)
集合是一门语言最重要的一个特性,对集合支持的程度越好,使用起来越方便 一.表现形式 1.1 list list的基本用法: 使用中括号包裹,[1,2,3] 元素类型可以是任意类型,同样可以是list ...
随机推荐
- RDLC_部署到不同的浏览器
首先我用的是vs2015 的reportview插件 在数据库中应该配置报表的服务器地址,在项目中添加ReportViewer 插件,单独用一个页面显示接收报表 <form id="f ...
- error "Can only specify query options (orderby, where, take, skip) after last navigation" when fetching a List<string>
Question I use OData v3 and WCF in visual studio 2012. I want to return List<string> using the ...
- 隐型马尔科夫模型(HMM)向前算法实例讲解(暴力求解+代码实现)---盒子模型
先来解释一下HMM的向前算法: 前向后向算法是前向算法和后向算法的统称,这两个算法都可以用来求HMM观测序列的概率.我们先来看看前向算法是如何求解这个问题的. 前向算法本质上属于动态规划的算法,也就是 ...
- habase 报错 ERROR: Can't get master address from ZooKeeper; znode data == null
方法一:查看日志报SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master 所以是hbase 和 zoo ...
- centos 关闭selinux 临时关闭selinux 报错 setenforce: setenforce() failed
关闭selinux的方法有两种:临时关闭和永久关闭. 查看selinux的状态:estatus [root@--- ~]# sestatus SELinux status: enabled SELin ...
- 什么是Java序列化?为什么序列化?序列化有哪些方式?
先普及一下,计算机中无法识别一个基本单元[字节]来表示,必须经过“翻译”才能让计算机理解人类的语言,这个翻译过程就是[编码],通常所说的字符转换为字节. 有I/O的地方机就会涉及编码,现在几乎所有的 ...
- SpringBoot入门 (四) 数据库访问之JdbcTemplate
本文记录在SpringBoot中使用JdbcTemplate访问数据库. 一 JDBC回顾 最早是在上学时接触的使用JDBC访问数据库,主要有以下几个步骤: 1 加载驱动 Class.forName( ...
- UIKit 框架之UITableView一
UITableView在开发中是用的最多的控件,它包含两个代理:UITableViewDataSource,UITableViewDelegate,先熟悉下API 1.初始化 - (instancet ...
- [转]创建一个 Microsoft Outlook 扩展插件
本文转自:https://coyee.com/article/10625-how-to-create-an-add-in-for-microsoft-outlook 下载示例 1.介绍 Visual ...
- Magento2开发教程 - 如何向数据库添加新表
Magento 2具有特殊的机制,允许你创建数据库表,修改现有的,甚至添加一些数据到他们(如安装数据,已被添加在模块安装). 这种机制允许这些变化可以在不同的设备之间传输. 关键的概念是,而不是做你能 ...