Python文件操作

读取与写入

readline

按行读取(慢但省内存)

file = open("sample.txt") 
while 1:
    line = file.readline()
    if not line:
        break
    pass # do somethingfile.close()

读大文件

file = open("sample.txt") 
for line in file:
    pass # do something
file.close()

顺手的方式

#写
with open(Address, "wb") as date:
    d.write("HelloWorld") 
#读    
with open(Address,'r', encoding="utf-8") as date:
        while 1:
            line = date.readline()

加减换行符

for line in file.readlines():  
     line=line.strip('\n')  
mobile = Method.createPhone()
file = r'D:\test.txt'
with open(file, 'a+') as f:
     f.write(mobile+'\n')   #加换行

格式符

'r':读
'w':写
'a':追加
'r+' == r+w(可读可写,文件若不存在就报错(IOError))
'w+' == w+r(可读可写,文件若不存在就创建)
'a+' ==a+r(可追加可写,文件若不存在就创建)
对应的,如果是二进制文件,就都加一个b就好啦:
'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'

利用代理连接特定网页

  • 因为项目部分脚本存储库在国外 下载需要科学上网
  • 因此需配置代理访问
  • 同理也可应用与网络爬虫伪装

使用到的库

import urllib

操作过程:

  • 设置代理地址
  • 创建Proxyhandler
  • 创建Opener
  • 安装Opener

流程:

from urllib import request,error
if __name__ == '__main__':
    url = "http://www.baidu.com"
    proxy = {'http': '206.125.41.135:80'}
    proxy_handler = request.ProxyHandler(proxy)
    opener = request.build_opener(proxy_handler)
    request.install_opener(opener)
    try:
        rsp = request.urlopen(url)
        print(rsp.status)
    except error.URLError as e:
        print(e)
    except Exception as e:
        print(e)

请求头伪装

from fake_useragent import UserAgent
import requests
ua=UserAgent()
#请求的网址
url="http://www.baidu.com"
#请求头
headers={"User-Agent":ua.random}
#请求网址
response=requests.get(url=url,headers=headers)
#响应体内容
print(response.text)
#响应状态信息
print(response.status_code)
#响应头信息
print(response.headers)

网络操作

基本方法

使用urllib.request库

import urllib.request

request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
response.getcode()#状态返回值
response.read()#读取数据
最后修改:2021 年 09 月 06 日
要不?请我吃一下沙县连锁大酒店?