// offending code· 3 files flaggedpatterns: 4
--- txdpy-2026.5/txdpy/excel数据或mysql操作.py (excerpt) ---
# -*- coding: utf-8 -*-
from os.path import basename, exists
import json, pymysql, re, os
from typing import Union, List, Dict, Any
from loguru import logger
from sshtunnel import SSHTunnelForwarder
from pymysql import Error
from .翻译 import translate
from .其他 import 英文表头对应中文
from pathlib import Path
import sys
from time import sleep
# from random import randint
# from hashlib import md5
# from requests import get
# def translate(text):
# """外语翻译成汉语
# :param text:要翻译成汉语的外语
# :return: 返回汉语
# """
# try:
# appid = '20220712001270949'
# q = str(text)
# secret_key = 'ODwtPobgXFes3sBML_NM'
# salt = str(randint(1000000000, 9999999999))
# m = md5()
# m.update((appid + q + salt + secret_key).encode("utf8"))
# s = f'http://api.fanyi.baidu.com/api/trans/vip/translate?q={q}&from=en&to=zh&appid={appid}&salt={salt}&sign={m.hexdigest()}'
# result = get(s).json()["trans_result"][0]['dst']
# return result
# except:
# return text
def prvadepl(num):
"""保留有效的小数位
:param num:
:return: 删除无效的小数位的数字
"""
return eval(str(num).rstrip('0').rstrip('.')) if type(num) == float else num
# 删除字符串首尾看不见的字符,将中文括号改为英文括号,以及其他符号的替换
def optstr(values: Union[str, list, dict]):
def format_str(s):
s = s.strip()
return s.replace('(', '(').replace(')', ')').replace('\t', '').replace('\n', '').replace(r'\n', '').replace(
--- txdpy-2026.5/txdpy/pyndjs.py (excerpt) ---
from subprocess import Popen
import six, sys, json, re, os
# print(f'\033[0;36mnode路径:{os.popen("where node").read().strip()}')
# print(f'node版本:{os.popen("node -v").read().strip()}\033[m'.strip())
def _json2_source():
return 'var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,escapable=/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,gap,indent,meta={"\\b":"\\\\b","\\t":"\\\\t","\\n":"\\\\n","\\f":"\\\\f","\\r":"\\\\r",\'"\':\'\\\\"\',"\\\\":"\\\\\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?\'"\'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+\'"\':\'"\'+string+\'"\'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="functi
--- txdpy-2026.5/txdpy/列表操作.py (excerpt) ---
def liduel(li: list, 返回所有元素统计结果=False):
"""查找列表重复元素
:param li: 列表
:return: 返回重复元素
"""
tr_c = li
tr_c = str(tr_c)
tr_c = eval(tr_c)
zwzf = '!已提取索引!'
if zwzf in tr_c:
zwzf = zwzf[::-1]
dic = {}
for td in tr_c:
idx = tr_c.index(td)
if td in dic:
dic[td] = dic[td] + [idx]
else:
dic[td] = [idx]
tr_c[idx] = zwzf
repeat_es = []
for key, value in dic.items():
if 返回所有元素统计结果:
repeat_es.append({'重复元素': key, '出现次数': len(value), '元素索引': value})
elif len(value) > 1:
repeat_es.append({'重复元素': key, '出现次数': len(value), '元素索引': value})
return repeat_es
def list_dupl(li):
"""列表去重保持,元素顺序
:param li:列表
:return: 返回去重后的列表
"""
new_list = []
for l in li:
if l not in new_list:
new_list.append(l)
return new_list
# class GroupBy:
# def __init__(self, data):
# """
# :param data: 要分组的数据
# """
# self.col_index = {x: data[0].index(x) for x in data[0]}
# self.data = data
#
# def __call__(self, *args) -> tuple:
# """
# :param args:要分组的数据(如果对新数据分类),需要分类的字段名称,重新设置表头,第一个参数必须是表头()
# """
# if not isinstance(args[0], str):
# self.data = [['表头']] + args[0]
# args = args[1:]
#
# group_key_index = [self.col_index[x] for x in args]
#
# g