Python提供了必要的函数和方法进行默认情况下的文件基本操作

文件打开方式:

open(name[,mode[buf]])

name:文件路径

mode:打开方式

buf:缓冲buffering大小

文件读取方式:

read([size]):读取文件(读取size字节,默认读取全部)

readline([size]):读取一行

readline([size]) :读取缓冲buf(io.DEFAULT_SET_BUFFER),返回每一行所组成的列表

iter:使用迭代器遍历读取文件 f.open(name);iter_f = iter(f);用for line in iter_f循环迭代器

文件写入方式:

write(str):将字符串写入文件

writelines(sequence_of_strings):写多行到文件,参数为可迭代的对象

当调用write(str)时,python解释器调用系统调用想把把内容写到磁盘,但是linux内核有文件缓存机制,所以缓存到内核的缓存区,当调用close()或flush()时才会真正的把内容写到文件

或者写入数据量大于或者等于写缓存,写缓存也会同步到磁盘上

关闭文件的目的

1:写缓存同步到磁盘

2:linux系统中每个进程打开文件的个数是有限的

3:如果打开文件数到了系统限制,在打开文件就会失败

python文件指针的操作:

seek(offset[,whence])移动文件指针

offset:偏移量,可以为负数

whence:偏移相对位置

python文件指针的定位方式:

os.SEEK_SET 相对于文件的起始位置 0

os.SEEK_CUR 相对于文件的当前位置 1

os.SEEK_END 相对于文件的结尾位置 2

Python 文件属性:

file.fileno(): 文件描述符;

file.mode: 文件打开权限;

file.encoding: 文件编码方式;

file.closed: 文件是否关闭;

Python 标准文件:

标准输入文件:sys.stdin; 只读 描述符为0

标准输出文件:sys.stdout; 只写 描述符为1

标准错误文件:sys.stderr; 只写 描述符为2

Python 命令行参数:

sys模块提供sys.argv属性,通过该属性可以得到命令行参数。sys.argv是一个字符串序列,保存着命令行的参数,其中sys.argv[0]是文件名,1~n是真正的参数

Python 文件编码方式

Python文件默认的编码格式是ASCII格式,要写入中文可以将编码格式进行转换

1. a = unicode.encode(u'你好', 'utf-8') 转换, 一个汉字在ASCII码中占3字节,在unicode中占2字节。

2. 直接创建utf-8格式的文件。使用codecs模块提供的方法创建指定编码格式文件:

codecs.open(fname, mode, encoding, errors, buffering): 使用指定编码格式打开文件

3. 使用系统提供的open()函数也可以创建指定编码格式的文件:

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

Linux文件系统简单示意图

下面是python操作文件的流程

看完这些,是不是对python的文件机制有了一定的了解了^^!

作者:Andy
出处:http://www.cnblogs.com/onepiece-andy/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Python文件读写机制的更多相关文章

  1. python文件读写及形式转化和CGI的简单应用

    一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...

  2. python 文件读写操作(24)

    以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...

  3. Python 文件读写,条件循环(三次登录锁定账号实例)

    通过文件读写,条件循环相关语法,实现三次登录失败则锁定该账号的功能 需求一 """需求描述: 1.输入正确账号,密码,退出程序 2.登录失败,重新输入账号密码 3.同一账 ...

  4. Linux文件读写机制及优化方式

    导读 Linux是一个可控性强的,安全高效的操作系统.本文只讨论Linux下文件的读写机制,不涉及不同读取方式如read,fread,cin等的对比,这些读取方式本质上都是调用系统api read,只 ...

  5. 【学习】python文件读写,用with open as的好处,非常好【转载】

    原文链接:http://www.cnblogs.com/ymjyqsx/p/6554817.html 备注:博主还有很多值得学习的笔记,遇到问题可以拜读,非常感谢博主的总结 读写文件是最常见的IO操作 ...

  6. python文件读写,以后就用with open语句

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  7. Python文件读写(open(),close(),with open() as f...)

    Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题 ...

  8. python 文件读写方式

    一.普通文件读写方式 1.读取文件信息: with open('/path/to/file', 'r') as f: content = f.read() 2.写入文件中: with open('/U ...

  9. Python文件读写、StringIO和BytesIO

    1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...

随机推荐

  1. SQL Server中,如何查看每个数据库的Owner是哪个SQL Server账户,也就是谁创建的

    有时候我们作为SQL Server的DBA,会需要查找每个数据库的Owner是哪个SQL Server账户,也就是谁创建的. 我们可以使用系统存储过程"sys.sp_helpdb" ...

  2. C#编辑xml文件

    string path = @"C:\Users\Administrator\Desktop\无人智能便利店\install\收银端\XMLRFI.xml"; XmlDocumen ...

  3. 学习shiro第一天

    shiro是一个强大而且易用的安全框架(主要包括认证和授权),它比spring security更加简单,而且它不依赖于任何容器,可以和许多框架集成. shiro的核心是安全管理器(SecurityM ...

  4. wsl下安装并运行Kafka

    0.引言 kafka是一个高性能分布式的MQ,今天我们就来玩玩 1.安装 wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kaf ...

  5. AOD.NET实现数据库事物Transaction

    在开始介绍文章主要内容前先简单说一下事务 1.事务介绍 事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是一个不可分割的工作逻辑单元.在数据库 ...

  6. wpf 工程生成dll

    在WPF项目里,当工程里包含窗体时候, 不可以使用类库的方式生产dll,虽然系统支持引用exe 文件,但总是觉得不如dll习惯,后来发现,新建个项目,类型选择“WPF自定义类件库”,名称和工程名称相同 ...

  7. 使用Nginx+Openresty实现WAF功能

    什么是WAF Web应用防护系统(也称为:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针 ...

  8. flask的request如何获取参数

    1.request.form.get("key", type=str, default=None) 获取表单数据 2.request.args.get("key" ...

  9. 【软件工程1916|W(福州大学)_助教博客】2019年上学期期末问卷调查结果公示

    1.调查问卷概况 福州大学2019W班,收集到有效答卷44份 2. 调查问卷情况 Q1:请问你平均每周在课程上花费多少小时? 去除自估水平超过40小时的,平均16.6H Q2.软工实践的各次作业分别花 ...

  10. 【未完成】【plsql】与oracle配置

    待写——————————————————————————————————————-