[обучение python]фрагмент кода класса инструмента python3

1. Класс инструмента времени Python

  • Извлечь строку времени из строки,
    например: 今天 2022年05月01日 明天совпадение из2022年5月15日
  • Отформатируйте строку времени в желаемой форме,
    например: 20220515преобразовать в2022年05月01日
import re  # 正则表达式
import time


def search_time(text):
    #
    """
    匹配 2022年5月15日、2022/5/15、20220515
    :param text: 例如:今天 2022年05月01日 明天
    :type text: str
    """
    pattern = re.search('\d{0,4}[\-/年]{0,1}\d{1,2}[\-/月]{0,1}\d{1,2}[日号]{0,1}', text)
    timeStr = pattern.group()
    print("search_time:" + timeStr)
    return timeStr


def format_time(timeStr):
    #
    """
    将 20220515 转化为 2022年05月01日
    :type timeStr: str
    """
    # 先转换为时间数组,然后转换为其他格式
    timeStruct = time.strptime(timeStr, "%Y%m%d")
    strTime = time.strftime("%Y年%m月%d日", timeStruct)
    print("format_time:" + strTime)
    return strTime


# ~~~ main验证 ~~~
search_time("今天 2022年5月15日 明天")
search_time("今天 2022/5/15 明天")
search_time("今天 20220515 明天")
search_time("今天 0515 明天")
format_time("20220515")

2. Файловые инструменты

  • Найдите файлы в соответствующем каталоге по ключевым словам и верните имя файла.
    Например: введите соответствующий путь и ключевые слова abc, чтобы получить имя файла.abcdef.txt
import os  # 文件相关判断会用到

def get_filename_by_key(dir, search_key):
    """根据关键词 查找对应目录下的文件 返回文件名
    :param dir: 要查找的目录
    :type dir: str
    :param search_key: 搜索关键词
    :type search_key: str
    """
    for fileName in os.listdir(dir):
        if search_key in fileName:
            return fileName

3. Обработка данных

  • Добавьте запятую между тремя числами
    Пример: будет 123456789отформатирован как123,456,789
  • Значения с плавающей запятой не сохраняют десятичную точку
    Например: будут 12.13отформатированы как12
  • Преобразование в проценты с сохранением двух десятичных точек ( 不四舍五入)
    Например: будет 0.33335отформатировано как33.33%
import math  # math函数


def format_comma(num):
    """
    三个数字加一个逗号
    :param numCount: 例如:123456789
    :type numCount: int
    """
    return "{:,.{}f}".format(num, 0)


def format_trunc(fcount):
    """
    不保留小数点
    :param fcount: 例如:12.13
    """
    return math.trunc(fcount)


def format_percent(data):
    """
    保留两个小数点,加%
    :param numCount: 例如:123456789
    :type numCount: int
    """
    # percent = "%.2f%%" % (float_num * 100)
    # percent = '{:.2f}'.format(data * 100)
    # percent = round(data * 100, 2)

    # percent_data = 33.335
    percent_data = data * 100
    # 保留两位
    n = 2
    percent = math.floor(percent_data * 10 ** n) / (10 ** n)
    print("percent", percent)
    return str(percent) + "%"

おすすめ

転載: blog.csdn.net/aiwusheng/article/details/126161303