python学习笔记---文件的操作
2.文件:文本内容,二进制的文件内容
3.数据库:
1.要读取的文件路径一定要存在。
2.打开存在的文件:open函数
参数1:文件的路径,相对的或者是绝对的
参数2:打开文件的模式,r\w\a
参数3:encoding="utf-8"
3.操作文件的内容,读、写(把原有的内容清空在写),追加(原有的内容不变,在它的最后面写上新的内容)
4.文件关闭掉
然后也可以选择utf-8
例如:在e:\test\test1下执行某个py程序,程序里面使用了相对路径a.txt
那么对应的绝对路径:e:\test\test1\a.txt
True
>>> os.path.exists("C:\\Users\\dell\\Desktop\\a.txt")#或者都这双斜杠
True
>>>
>>> if os.path.exists("C:\\Users\\dell\\Desktop\\a.txt"):
... print("文件存在!")
...
文件存在!
>>>
False
>>>
>>> fp
<_io.TextIOWrapper name='C:\\Users\\dell\\Desktop\\a.txt' mode='r' encoding='utf-8'>
>>> dir(fp)
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']
>>>
>>> fp.read()#read读取文件的全部内容
'\ufeff光荣之路测试开发培训\n还是不错的\n感谢大家支持\nabc\ngloryroadtrain\n'
>>>
>>> fp.read()
''
>>> fp.seek(0,0)#把文件的游标指导最开始
0
>>> fp.read()
'\ufeff光荣之路测试开发培训\n还是不错的\n感谢大家支持\nabc\ngloryroadtrain\n'
>>>
>>> content =fp.read()#文件是一个字符串
>>> type(content)
<class 'str'>
>>>
>>> fp.close()#关闭文件
>>>
1 python程序在执行完毕了,会自动close.
2 对于服务器端,不close,可能造成数据不真
正写入到文件里
3 对于服务器端,每次打开一个文件都不close
会把文件句柄(node)占用光.操作系统上打开文件是
有限制:65535个。达到65535个node被占用的时候
操作系统就死掉了,句柄耗尽。
一会儿不执行?
一直执行的回复1
一会儿执行一会儿不执行:2
服务器端的服务宗旨:尽管你可能不来,但是我们
一定死等。
>>> fp.readline()#readline一行一行的读
'\ufeff光荣之路测试开发培训\n'
>>> fp.readline()
'还是不错的\n'
>>> fp.readline()
'感谢大家支持\n'
>>> fp.readline()
'abc\n'
>>> fp.readline()
'gloryroadtrain\n'
>>> fp.readline()
''
>>>
优点:操作起来很快,速度快
缺点:占内存
数据量大:readline()
优点:生内存
缺点:速度慢
0
>>> fp.readline()
'\ufeff光荣之路测试开发培训\n'
>>>
>>> fp.tell()#tell告诉你当前读取的位置
35
>>> fp.read(1)
'还'
>>> fp.tell()
38
>>> fp.readlines()
['是不错的\n', '感谢大家支持\n', 'abc\n', 'gloryroadtrain\n']
>>> fp.seek(0,0)
0
>>> lines = fp.readlines()#
>>> lines[1]
'还是不错的\n'
>>> lines[2]
'感谢大家支持\n'
>>> lines[3]
'abc\n'
练习:读取文件的行数
方法1
>>> len(lines)
5
方法2
with open('e:\\a.txt','r',encoding='utf-8') as fp:
#print(len(fp.readlines()))
for i in fp:
sum_1+=1
>>> fp.seek(0,0)
0
>>> for line in fp:
... print(line,end=' ')
...
光荣之路测试开发培训
还是不错的
感谢大家支持
abc
gloryroadtrain
>>>
... count+=1
...
>>> print(count)
5
>>> while fp.readline():
... count+=1
...
>>> print(count)
5
>>> fp = open(r"C:\Users\dell\Desktop\a.txt","w",encoding="utf-8")
>>> fp.write(str(43242))#清空写
5
>>> fp.flush()
>>>
a:会把写入的内容,追加到文件的最后一行
w+:write and read#先清空所有内容,然后写入,然后才可以读取写入的内容
>>> fp.write("放学啦")
3
>>> fp.close()
>>>
>>> two_word=fp.read(2)
>>> two_word
'光荣'
>>> last_two_word=fp.read(2)
>>> last_two_word
'之路'
>>> fp.seek(0,0)
0
>>> fp.write(two_word+"gr"+last_two_word)
6
>>> fp.close()
>>>
r+:保留原有内容后,进行读写的模式
a+:保留原有内容后,进行读写的模式
且写入内容永远在文件的最后一行
open函数,如果没有写模式,
默认是r模式,也就是读模式
没有写编码,那么就是gbk
python学习笔记---文件的操作的更多相关文章
- [Python学习笔记]文件的读取写入
文件与文件路径 路径合成 os.path.join() 在Windows上,路径中以倒斜杠作为文件夹之间的分隔符,Linux或OS X中则是正斜杠.如果想要程序正确运行于所有操作系统上,就必须要处理这 ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- Python学习笔记——文件操作
python中,一切皆对象. 一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建 ...
- python学习8 文件的操作
本文拷贝了on testing 的<python之文件操作:文件的读写>,只做学习之用 python的文件读写通过 一.用open函数 二.对文件读写操作 三.读取文件位置定位 1. op ...
- python学习笔记2-文件操作
一.文件操作 #文件操作一定要注意文件指针 f=open('','a+,encoding=utf-8) f.seek(0) #文件指针移到行首 f.tell()#查看文件指针的位置 f.read()# ...
- 03 python学习笔记-文件操作(三)
本文内容主要包括以下方面: 1. 文件操作基本认识2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 文件的修改 一.文 ...
- python学习笔记06:操作文件
调用内置的open函数打开文件,传递两个参数:文件路径(绝对路径或相对路径),打开模式('r':读,'r+':读写,'w':写,'b':二进制): f = open('data.txt','w') f ...
- Python学习笔记——文件
1.文件只是连续的字节序列 open()内建函数是打开文件之门的钥匙 file_obj=open(file_name,access_mode='r/w/a,' buffering=-1) file_n ...
- python学习笔记10-文件操作
能调用方法的一定是对象.文件本身也是一个对象.有很多自己内置的方法 #操作文件第一件事 建立文件对象 open函数 # 参数一:文件路径 绝对路径和相对路径都可以 # 参数二:模式选择 ‘r’ 读模式 ...
随机推荐
- async await 同时发起多个异步请求的方法
@action getBaseInfo = async() => { let baseInfo; try { baseInfo = await getBaseInfo(this.id); if ...
- HBASE 基础命令总结
HBASE基础命令总结 一,概述 本文中介绍了hbase的基础命令,作者既有记录总结hbase基础命令的目的还有本着分享的精神,和广大读者一起进步.本文的hbase版本是:HBase 1.2.0-cd ...
- 创建一个dynamics 365 CRM online plugin (九) - Context.Depth
让我们来看看官方文档是怎么讲的 https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide ...
- day02 进制之间的转换and计算机编码叙述
一. 进制的转好技巧 二进制:0 1 八进制:0 1 2 3 4 5 6 7 十进制:0 1 2 3 4 5 6 7 8 9 十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E ...
- taro 报错及解决
1.解决:taro 升级到最新版(npm install -g @tarojs/cli) 错误 组件编译 组件src/pages/xxx/xxx.tsx编译失败! TypeError: callee. ...
- 【代码问题】MatConvNet自带example中 fast_rcnn_evaluate出错
fast_rcnn_evaluate中调用cnn_setup_data_voc07函数读取相关数据时,在类似 [gtids,t]=textread(sprintf(VOCopts.imgsetpath ...
- 如何一步一步新建一个Owin项目
打开VS2015,新建Web应用程序,命名为OwinWeb(名字随意). 在弹出的“新建ASP.NET项目”窗口中选择“Empty”模板,“为以下项添加文件夹和核心引用”处全不选.点击确定. 创建完后 ...
- 【C++】static关键字的总结
转自 https://www.cnblogs.com/BeyondAnyTime/p/2542315.html C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的s ...
- 为什么HTML中的多个空格或是回车在浏览器上只能显示出一个?
我们在学习HTML的时候可能书本或是老师会告诉我们一件事,就是在HTML中不管我们在两个文本之间加上多少连续的空格或是回车,到了浏览器里面只能显示出一个来.但是我们从来不知道为什么. 原因很简单,因为 ...
- Win10 使用MinGW-w64编译Tesseract4.0
一开始尝试使用mingw+msys编译tesseract, 但是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装. 在编译过程中遇到了很多麻烦,最后还遇到了包直接循环依赖问 ...