文件操作方法大全以及文件打开的其他一些模式sys.stdout.write()就是标准输出到你当前的屏幕 sys.stdout.flush()把内存立即显示到您当前的屏幕
read()会让你读取的光标变成最后。
tell()把你现在文件的句柄的指针打印出来。文件的开头指针位置是0
f.read(5)只读取5个字符串个数
如果你想把光标移回去,移动到首位f.seek(0)
f.detach()在文件还没关闭之前,把文件编码从GBK改成UTF-8
f.encoding() 打印打开文件的编码:之前文件是用UTF-8打开的,所以这里显示UTF-8,注意并不是文件文件的存储编码是啥。
f.fileno()返回文件的编号,windows有一个专门的接口,内部编号
f.name()打印文件名字
f.isatty()是否是一个打印机,tty,是否是终端设备
f.seekable()不是所有的文件都可以移动指针,这里是一个判断是否支持指针移动,比如是一个打印机文件,那么是不允许移动指针的。
f.readable()判断文件是否可读。
f.writeable()判断文件是否可写
f.flush()对文件进行刷新,强制将内存写入文件。
sys.stdout.write()就是标准输出到你当前的屏幕
sys.stdout.flush()把内存立即显示到您当前的屏幕
再导入一个时间模块,time,time.sleep(0.1)等待0.1秒
f.close关闭文件
f.closed判断文件是否关闭,返回True,Flase
f.truncate()如果什么都不写会清空文件,如果写入数字10,表示截断前10个字符
如果你想先移动指针,再截断20,是不可行的,f.truncate(20)依旧是从头截断
对文件即能读也能写的读写模式:r+,但是注意这种模式其实读和追加模式共存的情况,读的确是从第一行读取的,但是你写入文件的时候,其实是写入到文件最末行
对文件的写读模式:w+,写读模式的特点,是先用写的方法打开文件,也就是创建一个新的文件,然后再对文件进行写或者读。但是请注意,读可以用seek()的方法移动到任意位置进行读,但是写依旧是写入到了文件的最后一行!!!
追加读写模式:a+,可以在文件后头写,但是也是可以读了(不用管这种模式)
二进制文件读模式:rb,这个时候打开文件的时候,后面的参数ecoding就不用后面跟编码了。
二进制文件写模式:wb,注意写入的时候要把字符串编码为二进制,其中encode("utf-8"),写入模式必须加入编码,否则不知道用什么编码存储。encode('utf-8')
二进制的追加模式:ab
read()会让你读取的光标变成最后。
tell()把你现在文件的句柄的指针打印出来。文件的开头指针位置是0
72的意思代表字符的个数。下面的例子,只读取5个字符串个数:
如果你想把光标移回去,移动到首位f.seek(0)
f.detach()在文件还没关闭之前,把文件编码从GBK改成UTF-8
f.encoding() 打印打开文件的编码:之前文件是用UTF-8打开的,所以这里显示UTF-8,注意并不是文件文件的存储编码是啥。
f.fileno()返回文件的编号,windows有一个专门的接口,内部编号
f.name()打印文件名字
f.isatty()是否是一个打印机,tty,是否是终端设备
f.seekable()不是所有的文件都可以移动指针,这里是一个判断是否支持指针移动,比如是一个打印机文件,那么是不允许移动指针的。
f.readable()判断文件是否可读。
f.writeable()判断文件是否可写
f.flush()对文件进行刷新,强制将内存写入文件。
对文件写完一行,这个时候突然断电,可能这行没有写入文件,因为这行可能还在缓存中,因为每write一下,都写入文件,因为硬盘写入速度很慢,这个时候程序会很卡,所以会先写入到内存。
通过系统的这个特性,可以打印一个进度条程序出来。
导入模块sys,sys.stdout为标准输出,屏幕就是你的标准输出
sys.stdout.write()就是标准输出到你当前的屏幕
sys.stdout.flush()把内存立即显示到您当前的屏幕
再导入一个时间模块,time,time.sleep(0.1)等待0.1秒
f.close关闭文件
f.closed判断文件是否关闭,返回True,Flase
f.truncate()如果什么都不写会清空文件,如果写入数字10,表示截断前10个字符
如果你想先移动指针,再截断20,是不可行的,f.truncate(20)依旧是从头截断,到20个字符,并不是截图从10-30的字符
下面的这个方法,达不到你想要的效果!
对文件即能读也能写的读写模式:r+
但是注意这种模式其实读和追加模式共存的情况,读的确是从第一行读取的,但是你写入文件的时候,其实是写入到文件最末行
但是对文件的写入是写入到了文件的最后一行:
对文件的写读模式:w+
写读模式的特点,是先用写的方法打开文件,也就是创建一个新的文件,然后再对文件进行写或者读。但是请注意,读可以用seek()的方法移动到任意位置进行读,但是写依旧是写入到了文件的最后一行!!!
为什么对文件的写总是在最后一行呢,在python3.0版本因为如果你在中间写入数据的话,会把中间的数据进行覆盖,并不是写入以后,当前位置的数据就往后移,如果覆盖会问题更大。所以就默认写入是最后一行。
但是在python2.7,的确可以中间写入,但是会覆盖原来的数据,老师建议不要用这种方法,问题很多,很难处理。
写读模式在实际应用的场景很少,但是读写模式应用还是很方便的,可以打开文件并追加写入。
所以主要用的三种模式r,w,r+,rb,wb,ab,其他模式可以忽略,没什么应用场景
文件打开的模式还有几种情况:
追加读写模式:a+,可以在文件后头写,但是也是可以读了(不用管这种模式)
二进制文件读模式:rb,这个时候打开文件的时候,后面的参数ecoding就不用后面跟编码了。如下图:发现也可以打开文本文件,只不过readline的时候前面有字符b,以及后面跟了\r\n字符
那么在什么情况下会用rb模式打开文件呢?
需要进行网络传输的时候,socket和client,ftp传输,在python3里必须用二进制格式进行传输
二进制文件写模式:wb,注意写入的时候要把字符串编码为二进制,其中encode("utf-8"),写入模式必须加入编码,否则不知道用什么编码存储。encode('utf-8')
二进制的追加模式:ab
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
文件操作方法大全以及文件打开的其他一些模式sys.stdout.write()就是标准输出到你当前的屏幕 sys.stdout.flush()把内存立即显示到您当前的屏幕的更多相关文章
- python文件和目录操作方法大全(含实例)
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- 【python】python文件和目录操作方法大全(含实例)
转自:http://www.jb51.net/article/48001.htm 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Pyt ...
- 【转】python文件和目录操作方法大全(含实例)
python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...
- python文件和目录操作方法大全
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和 ...
- python文件和目录操作方法大全(含实例)【python】
转自:http://www.jb51.net/article/48001.htm 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Py ...
- OS -- (python)文件和目录操作方法大全
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- 【整理】C#文件操作大全(SamWang)
[整理]C#文件操作大全(SamWang) 文件与文件夹操作主要用到以下几个类: 1.File类: 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. msd ...
- C#File类常用的文件操作方法(创建、移动、删除、复制等)
File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...
- Linux中shell文件操作大全
1.创建文件夹#!/bin/shmkdir -m 777 "%%1" 2.创建文件#!/bin/shtouch "%%1" 3.删除文件#!/bin/shrm ...
随机推荐
- tech| kafka入门书籍导读
J梳理了一下自己在入门 kafka 时读过的一些书, 希望能帮助到对 kafka 感兴趣的小伙伴. 涉及到的书籍: kafka 权威指南 Kafka: The Definitive Guide (ka ...
- appium自动化测试(二)
一. 获取应用包名和入口activity 获取应用包名和入口activity:aapt命令 aapt目录: 安卓sdk的build-tools目录下(如果要在cmd里直接运行,要配置环境变量,否则需要 ...
- Matplotlib -多组线用不同的线性、颜色、节点绘制
先来看看我们要实现的效果图吧: 先来看看Matplotlib的plot函数原型 plt.plot(x, y, color='r', maker='o', linestyle='-', linewidt ...
- neutron ovs+vxlan
title: Neutron ovs+vxlan date: 2017-04-26 23:37 tags: Network 主机网卡配置 controller: ens160:192.168.11.1 ...
- L133
The U.S. Food and Drug Administration is considering a ban on flavorede-cigarettes in response to an ...
- 2017.11.7 Python 制作EFM32/ AVR批量烧录工具
Customer need program quickly asap. ok,I need to set up a table for test. 1 reference data http://ww ...
- vbs 字符串替换
http://blog.csdn.net/flm2003/article/details/7212448 function返回值 http://www.cnblogs.com/wakey/p/5758 ...
- matlab将矩阵写入文件
% %% date: 5/5/2017 % %% Author: Congbo Ma, Hu Wang % % write matrix to file function wrt_mat_to_fil ...
- ng 双向数据绑定 实现 注册协议效果
效果: 代码: <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> ...
- 转:C++模板特化的概念
http://blog.csdn.net/yesterday_record/article/details/7304025 很久没有看C++,在看STL源码剖析时,看到一个function templ ...