python仿真程序,用Python下载PHET互动仿真程序

用Python下载PHET互动仿真程序

7b8badb504a909b956fce2a7260d06b7.png

PhET是什么呢?

PhET是一款开放、免费的互动仿真程序。由诺贝尔物理学奖获得者卡尔•威曼于2002年发起,在科罗拉多大学制作、运行。旨在通过自由互动仿真程序,在世界范围内提高人们的科学数学素养。

由诺贝尔奖获得者卡尔·威曼于2002年创立,PhET互动仿真程序计划由科罗拉多大学的团队专项运营,旨在创建免费的数学和科学互动程序。 PhET 是基于拓展型教育的相关研究并且激励学生在直观的、游戏化的环境中进行探索和发现。

PhET官网地址:

为什么要下载PHET互动仿真程序

原因很简单,PhET官网位于国外,要打开这个官网真的需要足够的耐心。最终找到需要的互动仿真程序,没有5分钟是打不开的。PhET官网提供H5互动仿真程序的下载方法,下面的代码的功能就是全自动下载PhET的免费的互动仿真程序。

代码提供的功能

检查更新

程序自动判断下载内容的时间,如果大于7天,则重新检测互动仿真程序的版本号,如果有新的版本,则进行更新下载。

自动下载

全自动的下载PhET的免费的H5互动仿真程序,包括图片和HTML网页。运行中可能会出现超时等问题,这时只需要重新运行代码就可以了。

生成索引页面

会自动生成index.html索引页,打开这个网页,就可以看到下载好的H5互动仿真程序。

Python代码及功能介绍

先上源码

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

"""

PHET网站H5仿真演示实验镜像下载

实现版本对比下载

"""

import datetime

import json

import os

import re

import sys

import time

import requests

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0',

'Connection': 'close'

}

# 在get请求内,添加user-agent

session = requests.Session()

session.keep_alive = False

def down_img(sim_name: str, url: str):

full_path = os.path.join('pub', sim_name+'.png')

if not os.path.exists(full_path):

img = session.get(url, headers=headers).content

with open(full_path, 'wb') as f:

f.write(img)

def file_over_7day(full_path: str) -> bool:

if os.path.exists(full_path):

filemt1 = time.localtime(os.stat(full_path).st_mtime) # 文件修改时间

t1 = time.mktime(filemt1)

filemt2 = time.localtime() # 不带参数就是当前时间

t2 = time.mktime(filemt2)

days = datetime.timedelta(seconds=t2 - t1).days

return days > 7

else:

return True

def get_file_content(full_path: str, url: str) -> str:

if f

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值