2020-2-13(60)

本文介绍了使用Python进行网络请求获取网页内容的方法,并演示了如何创建一个类来读取网页内容,同时展示了一个用于计算列表平均值的类。此外,还提供了一个程序示例,说明了如何在ZIP压缩文件中执行查找和替换操作,包括解压缩文件、执行查找和替换,以及重新压缩文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from urllib.request import urlopen
import time

class WebPage:
    def __init__(self, url):
        self.url = url
        self._content = None
        
    @property
    def read_content(self):
        if not self._content:
            print("Retrieving New Page...")
            self._content = urlopen(self.url).read()
        return self._content
        
w = WebPage("https://www.baidu.com/")  
start = time.time()
print(w.read_content)
end = time.time()
print(end - start) 

#===============================================================

class AverageList(list):
    @property
    def average(self):
        return sum(self) / len(self)
        
a = AverageList([1,2,3,4,5])
print(a.average)

#======================================================================

#写一个可以在ZIP压缩文件里实现查找和替换操作的程序
#1.解压缩文件
#2.执行查找和替换动作
#3.压缩这些新文件

import sys
import os
import shutil
import zipfile

class ZipReplace:
    def __init__(self, zip_filename, search_string, replace_string):
        self.zip_filename = zip_filename
        self.search_string = search_string
        self.replace_string = replace_string
            
    def temp_directory(self):
        temp_dir = os.path.splitext(os.path.dirname(self.zip_filename))[0] + "\\unzip"
        return temp_dir
        
    def zip_find_replace(self):
        self.unzip_files()
        self.find_replace()
        self.zip_files()
        
    def unzip_files(self):
        os.mkdir(self.temp_directory())
        zip = zipfile.ZipFile(self.zip_filename)
        try:
            zip.extractall(self.temp_directory())
        finally:
            zip.close()
            
    def find_replace(self):
        for filename in os.listdir(self.temp_directory()):
            with open(os.path.join(self.temp_directory(),filename)) as fp:
                content = fp.read()
            content = content.replace(self.search_string,self.replace_string)
            with open(os.path.join(self.temp_directory(),filename),"w") as fp:
                fp.write(content)
           
    def zip_files(self):
        file = zipfile.ZipFile(self.zip_filename,"w")
        for filename in os.listdir(self.temp_directory()):
            file.write(os.path.join(self.temp_directory(),filename))
        #shutil.rmtree(self.temp_directory())
    
if __name__ == "__main__":
    #在命令行中传递实例对象初始化参数
    ZipReplace(*sys.argv[1:4]).zip_find_replace()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值