鱼C论坛

 找回密码
 立即注册
查看: 1749|回复: 0

[技术交流] 《零基础入门学习python》第二十八讲笔记:文件:因为懂你,所以永恒

[复制链接]
发表于 2017-8-30 16:19:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bozhen 于 2017-8-30 16:23 编辑

输入  - 》 处理  -》输出

文件后缀名: .exe   .txt  .ppt .jpg  .mp4  .avi


'r'
以只读方式打开文件(默认)
'w'
以写入的方式打开文件,会覆盖已存在的文件
'x'
如果文件已经存在,使用此模式打开将引发异常
'a'
以写入模式打开,如果文件存在,则在末尾追加写入
'b'
以二进制模式打开文件
't'
以文本模式打开(默认)
'+'
可读写模式(可添加到其他模式中使用)
'U'
通用换行符支持

>>>help(open)   查看open函数的参数
|  open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) ,除file参数外,其他参数
都给了默认值

文件对象方法:
文件对象方法                                               执行操作
f.close()                                                        关闭文件

f.read(size=-1)                               从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,
                                                     然后作为字符串返回

f.readline()                                     读取文件指针所在的这一行

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

f.writelines(seq)                              向文件写入字符串序列seq, seq应该是一个返回字符串的可迭代对象

f.seek(offset,from)                          在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)
                                                      偏移offset个字节

f.tell()                                              返回当前在文件中的位置


>>> f = open(r'E:\python视频\【视频教学】零基础入门学习Python\028文件:因为懂你,所以永恒\record.txt')  # 前面加r,表示原字符串,给到变量f
>>> type(f)   # 变量f为一个文件对象
<class 'io.TextIOWrapper'>
>>> f.read()   # read没指定size,表示读取剩余的所有字符,返回字符串
'小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!\n小甲鱼:。。。。。。\n小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"\n小甲鱼:然后呢?\n小客服:她买了两个,说发一个货就好~\n小甲鱼:呃。。。。。。你真牛!\n小客服:那是,谁让我是鱼C最可爱小客服嘛~\n小甲鱼:下次有人想调戏你我不阻止~\n小客服:滚!!!\n================================================================================\n小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:嗯嗯,我看了你的微博丫~\n小甲鱼:哟西~\n小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”\n小甲鱼:T_T\n================================================================================\n小客服:小甲鱼,今天一个会员想找你\n小甲鱼:哦?什么事?\n小客服:他说你一个学生月薪已经超过12k了!!\n小甲鱼:哪里的?\n小客服:上海的\n小甲鱼:那正常,哪家公司?\n小客服:他没说呀。\n小甲鱼:哦\n小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!\n小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。\n小客服:滚!!!'
>>> f.read()   # 剩余字符已经没有了,所以返回的是一个空字符串
''
>>> f.close()    # 关闭文件

>>> f = open(r'E:\python视频\【视频教学】零基础入门学习Python\028文件:因为懂你,所以永恒\record.txt')   # 重新打开文件
>>> f.read(5)  #  读取5个字符
'小客服:小'
>>> f.tell()   # 返回指针当前在文件中的位置,因为一个中文表示2个字节,所以显示9
9
>>> f.seek(45,0)   # 从文件开头,移动45个字节
45
>>> f.readline()    #  读取一行
'小甲鱼:咦??\n'
>>> list(f)    # 把文件对象转换成列表显示
['小客服:我跟她说你有女朋友了!\n', '小甲鱼:。。。。。。\n', '小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"\n', '小甲鱼:然后呢?\n', '小客服:她买了两个,说发一个货就好~\n', '小甲鱼:呃。。。。。。你真牛!\n', '小客服:那是,谁让我是鱼C最可爱小客服嘛~\n', '小甲鱼:下次有人想调戏你我不阻止~\n', '小客服:滚!!!\n', '================================================================================\n', '小客服:小甲鱼,有个好评很好笑哈。\n', '小甲鱼:哦?\n', '小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"\n', '小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n', '小客服:嗯嗯,我看了你的微博丫~\n', '小甲鱼:哟西~\n', '小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”\n', '小甲鱼:T_T\n', '================================================================================\n', '小客服:小甲鱼,今天一个会员想找你\n', '小甲鱼:哦?什么事?\n', '小客服:他说你一个学生月薪已经超过12k了!!\n', '小甲鱼:哪里的?\n', '小客服:上海的\n', '小甲鱼:那正常,哪家公司?\n', '小客服:他没说呀。\n', '小甲鱼:哦\n', '小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!\n', '小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。\n', '小客服:滚!!!']
>>> f.seek(0,0)   #  让指针回到文件开头
0
>>> lines = list(f)   # 把文件对象转换为列表来迭代打印每一行
>>> for each_line in lines:   # 依次打印此文件的每一行
    print(each_line)


>>> f.write('I love FishC.com')    # 如果要写入文件,需确保之前打开模式是w or  a  ,但这里不是所以报错
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    f.write('I love FishC.com')
  File "D:\Python30\lib\io.py", line 1495, in write
    self.buffer.write(b)
  File "D:\Python30\lib\io.py", line 701, in write
    self._unsupported("write")
  File "D:\Python30\lib\io.py", line 322, in _unsupported
    (self.__class__.__name__, name))
io.UnsupportedOperation: BufferedReader.write() not supported
>>> f = open('E:\\test.txt','w')     # 以写入的方式打开一个文件,如若文件不存在,会自动新建
>>> f.write('我爱鱼C工作室')   # 写入一个字符串
7
>>> f.close()  # 关闭文件
>>>

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 13:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表