# Module: data_processing # 并行计算前的预处理,把参数分成多份 def preprocess_for_parallel_calculations(parameter_array_all, cpus=1, task_index=0): import numpy as np num_all = np.array(parameter_array_all).shape[0] if num_all%cpus == 0: num_parameter = int(num_all/cpus) parameter_array = parameter_array_all[task_index*num_parameter:(task_index+1)*num_parameter] else: num_parameter = int(num_all/(cpus-1)) if task_index != cpus-1: parameter_array = parameter_array_all[task_index*num_parameter:(task_index+1)*num_parameter] else: parameter_array = parameter_array_all[task_index*num_parameter:num_all] import guan guan.statistics_of_guan_package() return parameter_array # 在一组数据中找到数值相近的数 def find_close_values_in_one_array(array, precision=1e-2): new_array = [] i0 = 0 for a1 in array: j0 = 0 for a2 in array: if j0>i0 and abs(a1-a2)': import socket datetime_date = guan.get_date() datetime_time = guan.get_time() current_version = guan.get_current_version('guan') client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.settimeout(0.5) client_socket.connect(('py.guanjihuan.com', 12345)) mac_address = guan.get_mac_address() message = guan.get_calling_function_name(layer=2) send_message = datetime_date + ' ' + datetime_time + ' version_'+current_version + ' MAC_address: '+mac_address+' guan.' + message+'\n' client_socket.send(send_message.encode()) client_socket.close() except: pass # 获取Python软件包的最新版本 def get_latest_version(package_name='guan', timeout=0.5): import requests url = f"https://pypi.org/pypi/{package_name}/json" try: response = requests.get(url, timeout=timeout) except: return None if response.status_code == 200: data = response.json() latest_version = data["info"]["version"] return latest_version else: return None # 获取软件包的本机版本 def get_current_version(package_name='guan'): import importlib.metadata try: current_version = importlib.metadata.version(package_name) return current_version except: return None # Guan软件包升级提示 def notification_of_upgrade(timeout=2): import guan rand_number = guan.get_random_number(start=1, end=20) if rand_number == 10: try: import guan latest_version = guan.get_latest_version(package_name='guan', timeout=timeout) current_version = guan.get_current_version('guan') if latest_version != None and current_version != None: if latest_version != current_version: print('提示:您当前使用的版本是 guan-'+current_version+',目前已经有最新版本 guan-'+latest_version+'。您可以通过以下命令对软件包进行升级:pip install --upgrade guan') except: pass import guan guan.notification_of_upgrade()