首页 > 编程语言 >《python基础教程(第二版)》学习笔记 文件和素材(第11章)

《python基础教程(第二版)》学习笔记 文件和素材(第11章)

时间:2023-11-06 16:32:58浏览次数:44  
标签:11 python filename char read 基础教程 close line open

《python基础教程(第二版)》学习笔记 文件和素材(第11章)

打开文件:
open(filename[,mode[,buffering]])

mode是读写文件的模式
f=open(r'c:\somefile.txt') #默认是读模式
+ 表示是可以读写;r 读模式;w 写模式;a 追加模式;b 二进制模式;
换行符在Windows为\r\n,在Unix中为\n, Python会自动转换;

buffering缓冲;0表示无缓冲;1表示有缓冲(使用flush或close才会写到硬盘中);

sys.stdin 标准输入;sys.stdout 标准输出; sys.stderr 错误信息;

f=open('aaa.txt','w')
f.write('Hello,')
f.write('world!')
f.close()

f=open('aaa.txt','r')
f.read(4) # 读取4个字符
f.read() # 读取剩余的内容

管道输入/输出
text=sys.stdin.read()

f.readline() 读取一行
f.readline(5) 读5个字符
f.readlines() 读取全部行并作为列表返回
f.writelines() 输入参数是列表,把内容写入到文件中;不会添加新行;

关闭文件 f.close()

with open('aaa.txt') as somefile:
   do_something(somefile)

按字节处理
f=open(filename)
char=f.read(1)
wile char:
  process(char)
  char=f.read()
f.close()

f=open(filename)
while True:
  char=f.read(1)
  if not char: break
  process(char)
f.close()

按行处理
f=open(filename)
while True:
  line=f.readline()
  if not line: break
  process(line)
f.close()

用read迭代每个字符
f=open(filename)
for char in f.read():
  process(char)
f.close()

用readlines迭代行
f=open(filename)
for line in f.realines():
  process(line)
f.close()

对大文件实现懒惰行迭代
import fileinput
for line in fileinput.input(finename):
   process(line)
   
迭代文件
f=open(filename)
for line in f:
   process(line)
f.close()

标签:11,python,filename,char,read,基础教程,close,line,open
From: https://blog.51cto.com/emanlee/8214005

相关文章

  • 《python基础教程(第二版)》学习笔记 函数(第6章)
    《python基础教程(第二版)》学习笔记函数(第6章)创建函数:deffunction_name(params):blockreturnvalues记录函数:deffunction_name(params):'NOTE'#注释blockreturnvaluesfunction_name.__doc__help(function_name)return#没有返回值位置参数和关键字参数:关......
  • 《python基础教程(第二版)》学习笔记 类和对象(第7章)
    《python基础教程(第二版)》学习笔记类和对象(第7章)定义类classPerson:defsetName(self,name):self.name=namedefgetName(self):returnself.namefoo=Person()foo.setName('AAA')foo.getName()foo.namefoo.name='BBB'私有属性,名字前面加上......
  • 在Python中获取飞书群消息,你可以使用`feishu-python-sdk`这个库¹。这是一个用于和飞
    在Python中获取飞书群消息,你可以使用`feishu-python-sdk`这个库¹。这是一个用于和飞书开放平台交互的Python库,它支持同步调用和异步调用,实现了订阅事件和卡片交互回调¹。首先,你需要安装这个库,可以使用pip进行安装:```pythonpipinstallfeishu-python-sdk```然后,你可以使用以......
  • 从零开始构建报警中心:part02 使用python脚本接收zabbix报警信息-2
    在上篇中完成了对报警媒介与动作的配置在动作配置中,有一项是发送到配置,这个需要配置到用户与报警媒介之间进行绑定。具体操作如下点击“管理”-》“用户”,点击要操作的用户再点击“报警媒介”,点击“添加”进行操作在弹出的对话框上点选类型,选择之前对应配置的报警媒介,并添加。如果......
  • Python IDE
    1.VimVim可以说是Python最好的IDE。Vim是高级文本编辑器,旨在提供实际的Unix编辑器‘Vi’功能,支持更多更完善的特性集。Vim不需要花费太多的学习时间,一旦你需要一个无缝的编程体验,那么就会把Vim集成到你的工作流中。2.EclipsewithPyDevEclipse是非常流行的IDE,而且......
  • nfls 11.6 挂分日志
    没想到吧,这个破玩意儿还能有续集。/hshT1一个分类讨论,对于第三个类进行分类的时候一直往他的循环节和循环关系去想了,思路就错了/cf,真的第一次遇到这种思路就错的东西/kk。T2没想到啊,放了个黑题,谁教你这么出NOIP模拟赛的。这个题没发现一个重要性质,将一个字符设置为\(1\),另一......
  • 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程
    报错:1130-host...isnotallowedtoconnecttothisMySqlserver开放mysql远程连接不使用localhost解决方法:1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"......
  • ERROR 1044 (42000) ERROR 1142 (42000): SELECT command denied to user ''@'localho
    ERROR:Accessdeniedforuser'root'@'localhost'(usingpassword:NO)   发现:   mysql-uroot@localhost-p成功   mysql-uroot-p失败   mysql>SELECTuser,hostFROMmysql.user;   ERROR1142(42000):SELECTcommanddeniedtouser&......
  • 如何使用Python将PDF转为Excel
    PDF文件是一种静态文档格式,通常难以编辑,而Excel则是一个灵活的表格工具。如果你需要处理PDF表格中的数据,那么将其导出为Excel文件可以大大节省工作时间和精力。Excel提供的强大数据编辑和格式化功能,允许你对转换后的PDF数据进行修改、排序、筛选、计算等操作。同时,你还可以调整单......
  • (十)Python之数字类型
    数字类型数字类型用于存储数值,他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象,当你指定一个值时,Number对象就会被创建:num=15int:整型Python3整型是没有限制大小的,可以当作long类型使用,所以Python3没有Python2的long类型,举例1010055float:浮点型用来表......