|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
程序:输入处理输出
目前我们使用input输入,print输出打印结果,而不满足现状。
需要代码自动分析操作系统的日志,需要把分析的结果可以保存为一个新的文本,甚至需要跟外界进行交流
在编写代码的时候,操作系统为了更好地做出响应,会把所有的数据放在内存中进行,因为内存和cpu的数据传输速度会比硬盘和cpu的传输速度快很多。内存的缺点:一旦断电,数据消失。
什么是文件?
.exe,.txt,.ppt,.jpg,.mp4,.avi
打开文件
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Open file and return a stream. Raise IOError upon failure.
Character Meaning
--------- ---------------------------------------------------------------
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' create a new file and open it for writing
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
'U' universal newline mode (deprecated)
扩展阅读:文件的打开模式和文件对象方法
Python 和java中有回收机制,如果忘记关闭文件当计数器计数到0时会自动关闭文件,
但也不是说就不关闭文件了,当文件有写入操作的时候,当写入完成后应该关闭文件
python会缓存写入数据,当此时断电,数据不会被写入到文件中,所以要养成写入完之后关闭文件的习惯。
f.read([size=-1])从文件中读取size个字符,如果不指定则将文件全部读取出来,文件的指针指向末尾
>>> f=open('F:\\kit studium\ss1718\python\pythonproject\L28wenjianduqu.txt','r')
>>> f
<_io.TextIOWrapper name='F:\\kit studium\\ss1718\\python\\pythonproject\\L28wenjianduqu.txt' mode='r' encoding='cp936'>
>>> f.read()
'他和一只猫的故事\n雨夜的冷清让他醉酒的头脑多了几分清明,忽而听得\n垃圾桶的方向有几声细弱的喵喵声。辰溪踉跄着走到\n垃圾桶边,掀开被雨打湿的硬纸板,眼睛便和一双无\n助可怜的圆圆大眼睛对视了。'
>>> f.read()
''
>>> f.close()
>>> f=open('F:\\kit studium\ss1718\python\pythonproject\L28wenjianduqu.txt','r')
>>> f.read(5)
'他和一只猫'
>>>
>>> f.tell()一个中文字符占两个字节,f.tell()返回文件指针的位置,
10
>>> f.seek(10,0)从0字节开始偏移10个字节后读取文件的一行
10
>>> f.readline()
'的故事\n'
使用list()可以将文件对象转换为列表
>>> f.seek(0,0)
0
>>> lines=list(f)
>>> for each_line in lines:
print(each_line)
他和一只猫的故事
雨夜的冷清让他醉酒的头脑多了几分清明,忽而听得
垃圾桶的方向有几声细弱的喵喵声。辰溪踉跄着走到
垃圾桶边,掀开被雨打湿的硬纸板,眼睛便和一双无
助可怜的圆圆大眼睛对视了。
>>>
当文件非常长的时候,文件将转换为一个非常长的列表,这样就非常没有效率
改进:
>>> f.seek(0,0)
0
>>> for each_line in f: 用for直接迭代出来----这样效率比较高
print(each_line)
文件的写入:
f.write(str)
f.writelines(seq)
但要确保文件打开时使用a 或者w模式,否则会出现异常
>>> f.write('I love you')
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
f.write('I love you')
io.UnsupportedOperation: not writable
>>> f=open('F:\\test.txt','w')创建一个新文件
>>> f=open('F:\\test.txt','w')
>>> f.write('I love FishC')
12
>>> f.close()
|
评分
-
查看全部评分
|