byzh-core 0.0.2.11__py3-none-any.whl → 0.0.2.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,12 @@
1
1
  import os
2
2
  import zipfile
3
+ from pathlib import Path
4
+
3
5
  from ..Btqdm import B_Tqdm
4
6
 
5
7
  def b_archive_zip(
6
8
  source_path,
7
- output_path,
9
+ output_path:str|Path=None,
8
10
  exclude_dirs:list[str]=None,
9
11
  exclude_files:list[str]=None,
10
12
  exclude_exts:list[str]=None,
@@ -13,21 +15,24 @@ def b_archive_zip(
13
15
  ):
14
16
  '''
15
17
  压缩文件夹,排除 指定文件夹and指定后缀文件
18
+
19
+ name代表前缀, ext代表后缀(包括.)
20
+
16
21
  :param source_path:
17
- :param output_path:
22
+ :param output_path: 如果不传入, 则默认为source_path同名同路径的zip文件
18
23
  :param exclude_dirs: ['__pycache__', '.git', '.idea']
19
24
  :param exclude_files: ['.gitignore', 'README.md']
20
25
  :param exclude_exts: ['.csv', '.npy', '.pt', '.pth']
21
26
  :return:
22
27
  '''
23
- if exclude_dirs is None:
24
- exclude_dirs = []
25
- if exclude_files is None:
26
- exclude_files = []
27
- if exclude_exts is None:
28
- exclude_exts = []
29
- if while_list is None:
30
- while_list = []
28
+ output_path = source_path + '.zip' if output_path is None else output_path
29
+ def get_lst(lst):
30
+ return [] if lst is None else lst
31
+ exclude_dirs = get_lst(exclude_dirs)
32
+ exclude_files = get_lst(exclude_files)
33
+ exclude_exts = get_lst(exclude_exts)
34
+ while_list = get_lst(while_list)
35
+
31
36
 
32
37
  my_tqdm = B_Tqdm(prefix='Archive')
33
38
 
@@ -49,7 +54,6 @@ def b_archive_zip(
49
54
  # 排除指定后缀文件files
50
55
  files = [f for f in files if f in while_list or not any(f.endswith(ext) for ext in exclude_exts)]
51
56
 
52
-
53
57
  # 压缩文件:
54
58
  for file in files:
55
59
  file_path = os.path.join(root, file)
byzh_core/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
  # class 以"B_"开头
3
3
  # function 以"b_"开头
4
4
 
5
- __version__ = '0.0.2.11'
5
+ __version__ = '0.0.2.12'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: byzh_core
3
- Version: 0.0.2.11
3
+ Version: 0.0.2.12
4
4
  Summary: byzh_core是byzh系列的核心库,包含了一些常用的工具函数和类。
5
5
  Author: byzh_rc
6
6
  License: MIT
@@ -1,12 +1,9 @@
1
1
  byzh_core/B_os.py,sha256=-6KjK2NzEeF8GiQno0BmbVDei9DDxOaXdaKGqFeL_eY,2372
2
- byzh_core/__init__.py,sha256=ZId6-ESyPcPTcRPv9HPPO22SQwXjjgYlIrPQqB6TOEg,111
2
+ byzh_core/__init__.py,sha256=8z9EEYzFsoORuQaxnDqe9rMBYlDOmbTMCsB4CydfX_0,111
3
3
  byzh_core/Barchive/__init__.py,sha256=wUdz646VS0Uhq9lwMkd3YQHCvQhLDqgADoDjFGMqIn0,65
4
- byzh_core/Barchive/archive.py,sha256=6uMoOs-lmdcezdOgXr4s9NmjHVRDvG4v_YGQhaPPyGo,2681
4
+ byzh_core/Barchive/archive.py,sha256=ZHGysf9gEy_QtfuFmPOOvRGpLnUey0LZaCev7z4HGYQ,2929
5
5
  byzh_core/Bbasic/__init__.py,sha256=wr7Y7YJINhgpV5X6BT5DaGJKcHUOZYNerCGXoi2Egac,116
6
6
  byzh_core/Bbasic/text_style.py,sha256=waaj_DKg6eBEyM3kcdpPJtghLPIR171opIjx4rXrUus,3202
7
- byzh_core/Bmath/__init__.py,sha256=G3AQug6izkEX3UfzO_mqUNJW88ZKlmYb4Q8CAactK4w,105
8
- byzh_core/Bmath/divides.py,sha256=dr85IqGSE9NvugQu7az29GLcjRiLjXU_hZTwtNifIXg,1132
9
- byzh_core/Bmath/get_norm.py,sha256=y1QsCTo7qhtGTXIxpc6JtamLWloC7ENRuVdNtK5yi58,596
10
7
  byzh_core/Btable/__init__.py,sha256=NlQBjp_mvObEUm4y6wXbGipkNM2N3uNIUidaJkTwFsw,62
11
8
  byzh_core/Btable/auto_table.py,sha256=nc8RvF86laDnITAzX8sVj3l5tbIGflrsstIbSbGDaAI,14747
12
9
  byzh_core/Bterminal/__init__.py,sha256=B6p6mHVhi5LAHKlvqfrv20E6XNqUsfU2xD753V6-Zf4,83
@@ -21,8 +18,8 @@ byzh_core/obsolete/row_table.py,sha256=rIX0-Yvb3RnO0RJBkA4m18gux1zYSnEKTy6uQGcWi
21
18
  byzh_core/obsolete/xy_table.py,sha256=-KHK8EUlkJj3Rh0sp_KHI0QFt29AlMASMmR8q8ykUBM,6784
22
19
  byzh_core/obsolete/Bconfig/__init__.py,sha256=7lAp7wNetW0AyJcike7ekdY_8wrQQtFjBsi6684t_lU,54
23
20
  byzh_core/obsolete/Bconfig/config.py,sha256=TD8CC1P2Zu95Tf8AGK2IHRXjrCCMBA_tdoZsc1Rr0Gk,10953
24
- byzh_core-0.0.2.11.dist-info/LICENSE,sha256=-nRwf0Xga4AX5bsWBXXflpDpgX_U23X06oAMcdf0dSY,1089
25
- byzh_core-0.0.2.11.dist-info/METADATA,sha256=YnqgjGFeI4EquXuRCVUsjD9zSsSeUK3RzLayda7hpBg,372
26
- byzh_core-0.0.2.11.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
27
- byzh_core-0.0.2.11.dist-info/top_level.txt,sha256=Xv-pzvl6kPdIbi5UehQcUdGhLtb8-4WhS5dRK1LINwM,10
28
- byzh_core-0.0.2.11.dist-info/RECORD,,
21
+ byzh_core-0.0.2.12.dist-info/LICENSE,sha256=-nRwf0Xga4AX5bsWBXXflpDpgX_U23X06oAMcdf0dSY,1089
22
+ byzh_core-0.0.2.12.dist-info/METADATA,sha256=TCaOL7-ahCN0MlzR5AHSPtpjFbyZdIT6uzKqFlfgcao,372
23
+ byzh_core-0.0.2.12.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
24
+ byzh_core-0.0.2.12.dist-info/top_level.txt,sha256=Xv-pzvl6kPdIbi5UehQcUdGhLtb8-4WhS5dRK1LINwM,10
25
+ byzh_core-0.0.2.12.dist-info/RECORD,,
@@ -1,4 +0,0 @@
1
- from .divides import b_divides
2
- from .get_norm import b_get_norm
3
-
4
- __all__ = ['b_divides', 'b_get_norm']
@@ -1,41 +0,0 @@
1
- from typing import Union, List, Set, Tuple
2
-
3
- my_type1 = Union[int, float, str]
4
- def get_num(num: my_type1):
5
- if isinstance(num, str):
6
- return float(num)
7
- return num
8
-
9
- my_type2 = Union[my_type1, List[my_type1], Set[my_type1], Tuple[my_type1]]
10
- def b_divides(iterUp: my_type2, iterDown: my_type2):
11
- """
12
- 支持list, tuple, set, 单个数\n
13
- iterUp as 分子\n
14
- iterDown as 分母
15
- """
16
- up = 1
17
- down = 1
18
-
19
- if not isinstance(iterUp, list) and not isinstance(iterUp, tuple) and not isinstance(iterUp, set):
20
- up *= get_num(iterUp)
21
- else:
22
- for x in iterUp:
23
- up *= get_num(x)
24
-
25
- if not isinstance(iterDown, list) and not isinstance(iterDown, tuple) and not isinstance(iterDown, set):
26
- down *= get_num(iterDown)
27
- else:
28
- for x in iterDown:
29
- down *= get_num(x)
30
-
31
- return up / down
32
-
33
- if __name__ == '__main__':
34
- result = b_divides([1, 2, 3], [4, 5])
35
- print(result)
36
-
37
- result = b_divides(6.63e-34, (9.11e-31, 3e8))
38
- print(result)
39
-
40
- result = b_divides('6.63e-34', ['9.11e-31', 3e8])
41
- print(result)
@@ -1,21 +0,0 @@
1
- from typing import Literal
2
- def b_get_norm(
3
- lst: list,
4
- mode: Literal['min-max'] = 'min-max',
5
- ndigits: int | None = None
6
- ) -> tuple[list, float, float]:
7
-
8
- if mode =='min-max':
9
- minimum = min(lst)
10
- maximum = max(lst)
11
- if ndigits is None:
12
- result = [(x-minimum)/(maximum-minimum) for x in lst]
13
- else:
14
- result = [round((x-minimum)/(maximum-minimum), ndigits) for x in lst]
15
- return (result, minimum, maximum)
16
-
17
-
18
- if __name__ == '__main__':
19
- lst = [1, 2, 3, 4, 5]
20
- result = b_get_norm(lst)
21
- print(result)