Python 练习

Python练习忘了第几天

文件与文件系统

1、常用文件操作:

file.read([n]) 将整个文件读入字符串中,或指定n字节
file.readline([n]) 读入文件的一行到字符串中
file.readlines() 将整个文件按行读入到列表中
file.write(s) 向文件中写入字符串
file.writelines(lines) 向文件中写入一行数据列
file.close() 关闭打开的文件

2、fileinput操作文件

fileinput模块提供了一个以行模式循环处理一个或多个文件内容,它实现了对文件中行的懒惰迭代,读取时不需要把文件内容放入内存,提高程序效率

fileinput模块常用函数:

input(): 返回能够用于迭代一个或多个文件中所有行的对象

filename(): 返回当前文件的名称

lineno():返回当前读取行的数量

isfirstline():返回当前行是否文件的第一行

filelineno():返回当前读取行在文件中的行数

#下载网页;request(第三方)
import requests
import re
url = 'https://sjz.58.com/chuzu/?PGTID=0d100000-000f-1ffa-6127-cf515cf7a53e&ClickID=1'
#网页请求
response = requests.get(url)
#编码转换,charset,为解码方式
response.encoding = 'gbk'
html=response.text
#新建存储空间
wenben=111
fb = open('%s.txt'% wenben,'w',encoding='gbk')
#信息获取(姓名,URL,)注意re.s
dl = re.findall(r'<DIV class="clearfix dirconone">.*?</div>',html,re.S)[0]
ti_qu=re.findall(r'href="(.*?)" title="(.*?)">(.*?)</a></li>',dl)
#提取访问,循环每个章节,分别获取信息
for ti in ti_qu:
   ti_url,ti_title,ti_wu=ti
   #载入
   erji = requests.get(ti_url)
   erji.encoding = 'gbk'
   erji_html = erji.text
   #提取二级内容
   erji_content = re.findall(r'&nbsp;&nbsp;&nbsp;&nbsp;(.*?)<br />', erji_html, re.S)[0]
   #清洗替换
   erji_content = erji_content.replace(' ','')
   #持久化
   fb.write(erji_content)
   fb.write('\n')

   print(ti_url)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值