re-common 10.0.22__py3-none-any.whl → 10.0.24__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.
- re_common/baselibrary/__init__.py +4 -4
- re_common/baselibrary/baseabs/__init__.py +6 -6
- re_common/baselibrary/baseabs/baseabs.py +26 -26
- re_common/baselibrary/database/mbuilder.py +132 -132
- re_common/baselibrary/database/moudle.py +93 -93
- re_common/baselibrary/database/msqlite3.py +194 -194
- re_common/baselibrary/database/mysql.py +169 -169
- re_common/baselibrary/database/sql_factory.py +26 -26
- re_common/baselibrary/mthread/MThreadingRun.py +486 -486
- re_common/baselibrary/mthread/MThreadingRunEvent.py +349 -349
- re_common/baselibrary/mthread/__init__.py +2 -2
- re_common/baselibrary/mthread/mythreading.py +695 -695
- re_common/baselibrary/pakge_other/socks.py +404 -404
- re_common/baselibrary/readconfig/config_factory.py +18 -18
- re_common/baselibrary/readconfig/ini_config.py +317 -317
- re_common/baselibrary/readconfig/toml_config.py +49 -49
- re_common/baselibrary/temporary/envdata.py +36 -36
- re_common/baselibrary/tools/all_requests/aiohttp_request.py +118 -118
- re_common/baselibrary/tools/all_requests/httpx_requet.py +102 -102
- re_common/baselibrary/tools/all_requests/mrequest.py +412 -412
- re_common/baselibrary/tools/all_requests/requests_request.py +81 -81
- re_common/baselibrary/tools/batch_compre/bijiao_batch.py +31 -31
- re_common/baselibrary/tools/contrast_db3.py +123 -123
- re_common/baselibrary/tools/copy_file.py +39 -39
- re_common/baselibrary/tools/db3_2_sizedb3.py +102 -102
- re_common/baselibrary/tools/foreachgz.py +39 -39
- re_common/baselibrary/tools/get_attr.py +10 -10
- re_common/baselibrary/tools/image_to_pdf.py +61 -61
- re_common/baselibrary/tools/java_code_deal.py +139 -139
- re_common/baselibrary/tools/javacode.py +79 -79
- re_common/baselibrary/tools/mdb_db3.py +48 -48
- re_common/baselibrary/tools/merge_file.py +171 -171
- re_common/baselibrary/tools/merge_gz_file.py +165 -165
- re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +42 -42
- re_common/baselibrary/tools/mhdfstools/hdfst.py +42 -42
- re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +38 -38
- re_common/baselibrary/tools/mongo_tools.py +50 -50
- re_common/baselibrary/tools/move_file.py +170 -170
- re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +63 -63
- re_common/baselibrary/tools/move_mongo/move_mongo_table.py +354 -354
- re_common/baselibrary/tools/move_mongo/use_mttf.py +18 -18
- re_common/baselibrary/tools/move_mongo/use_mv.py +93 -93
- re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +125 -125
- re_common/baselibrary/tools/mpandas/pandas_visualization.py +7 -7
- re_common/baselibrary/tools/myparsel.py +104 -104
- re_common/baselibrary/tools/rename_dir_file.py +37 -37
- re_common/baselibrary/tools/sequoiadb_utils.py +398 -398
- re_common/baselibrary/tools/split_line_to_many.py +25 -25
- re_common/baselibrary/tools/stringtodicts.py +33 -33
- re_common/baselibrary/tools/workwechant_bot.py +84 -84
- re_common/baselibrary/utils/baseaiohttp.py +296 -296
- re_common/baselibrary/utils/baseaiomysql.py +87 -87
- re_common/baselibrary/utils/baseallstep.py +191 -191
- re_common/baselibrary/utils/baseavro.py +19 -19
- re_common/baselibrary/utils/baseboto3.py +291 -291
- re_common/baselibrary/utils/basecsv.py +32 -32
- re_common/baselibrary/utils/basedict.py +133 -133
- re_common/baselibrary/utils/basedir.py +241 -241
- re_common/baselibrary/utils/baseencode.py +351 -351
- re_common/baselibrary/utils/baseencoding.py +28 -28
- re_common/baselibrary/utils/baseesdsl.py +86 -86
- re_common/baselibrary/utils/baseexcel.py +264 -264
- re_common/baselibrary/utils/baseexcept.py +109 -109
- re_common/baselibrary/utils/basefile.py +654 -654
- re_common/baselibrary/utils/baseftp.py +214 -214
- re_common/baselibrary/utils/basegzip.py +60 -60
- re_common/baselibrary/utils/basehdfs.py +135 -135
- re_common/baselibrary/utils/basehttpx.py +268 -268
- re_common/baselibrary/utils/baseip.py +87 -87
- re_common/baselibrary/utils/basejson.py +2 -2
- re_common/baselibrary/utils/baselist.py +32 -32
- re_common/baselibrary/utils/basemotor.py +190 -190
- re_common/baselibrary/utils/basemssql.py +98 -98
- re_common/baselibrary/utils/baseodbc.py +113 -113
- re_common/baselibrary/utils/basepandas.py +302 -302
- re_common/baselibrary/utils/basepeewee.py +11 -11
- re_common/baselibrary/utils/basepika.py +180 -180
- re_common/baselibrary/utils/basepydash.py +143 -143
- re_common/baselibrary/utils/basepymongo.py +230 -230
- re_common/baselibrary/utils/basequeue.py +22 -22
- re_common/baselibrary/utils/baserar.py +57 -57
- re_common/baselibrary/utils/baserequest.py +279 -279
- re_common/baselibrary/utils/baseset.py +8 -8
- re_common/baselibrary/utils/basesmb.py +403 -403
- re_common/baselibrary/utils/basestring.py +382 -382
- re_common/baselibrary/utils/basetime.py +320 -320
- re_common/baselibrary/utils/baseurl.py +121 -121
- re_common/baselibrary/utils/basezip.py +57 -57
- re_common/baselibrary/utils/core/__init__.py +7 -7
- re_common/baselibrary/utils/core/bottomutils.py +18 -18
- re_common/baselibrary/utils/core/mdeprecated.py +327 -327
- re_common/baselibrary/utils/core/mlamada.py +16 -16
- re_common/baselibrary/utils/core/msginfo.py +25 -25
- re_common/baselibrary/utils/core/requests_core.py +103 -103
- re_common/baselibrary/utils/fateadm.py +429 -429
- re_common/baselibrary/utils/importfun.py +123 -123
- re_common/baselibrary/utils/mfaker.py +57 -57
- re_common/baselibrary/utils/my_abc/__init__.py +3 -3
- re_common/baselibrary/utils/my_abc/better_abc.py +32 -32
- re_common/baselibrary/utils/mylogger.py +414 -414
- re_common/baselibrary/utils/myredisclient.py +861 -861
- re_common/baselibrary/utils/pipupgrade.py +21 -21
- re_common/baselibrary/utils/ringlist.py +85 -85
- re_common/baselibrary/utils/version_compare.py +36 -36
- re_common/baselibrary/utils/ydmhttp.py +126 -126
- re_common/facade/lazy_import.py +11 -11
- re_common/facade/loggerfacade.py +25 -25
- re_common/facade/mysqlfacade.py +467 -467
- re_common/facade/now.py +31 -31
- re_common/facade/sqlite3facade.py +257 -257
- re_common/facade/use/mq_use_facade.py +83 -83
- re_common/facade/use/proxy_use_facade.py +19 -19
- re_common/libtest/base_dict_test.py +19 -19
- re_common/libtest/baseavro_test.py +13 -13
- re_common/libtest/basefile_test.py +14 -14
- re_common/libtest/basemssql_test.py +77 -77
- re_common/libtest/baseodbc_test.py +7 -7
- re_common/libtest/basepandas_test.py +38 -38
- re_common/libtest/get_attr_test/get_attr_test_settings.py +14 -14
- re_common/libtest/get_attr_test/settings.py +54 -54
- re_common/libtest/idencode_test.py +53 -53
- re_common/libtest/iniconfig_test.py +35 -35
- re_common/libtest/ip_test.py +34 -34
- re_common/libtest/merge_file_test.py +20 -20
- re_common/libtest/mfaker_test.py +8 -8
- re_common/libtest/mm3_test.py +31 -31
- re_common/libtest/mylogger_test.py +88 -88
- re_common/libtest/myparsel_test.py +27 -27
- re_common/libtest/mysql_test.py +151 -151
- re_common/libtest/pymongo_test.py +21 -21
- re_common/libtest/split_test.py +11 -11
- re_common/libtest/sqlite3_merge_test.py +5 -5
- re_common/libtest/sqlite3_test.py +34 -34
- re_common/libtest/tomlconfig_test.py +30 -30
- re_common/libtest/use_tools_test/__init__.py +2 -2
- re_common/libtest/user/__init__.py +4 -4
- re_common/studio/__init__.py +4 -4
- re_common/studio/assignment_expressions.py +36 -36
- re_common/studio/mydash/test1.py +18 -18
- re_common/studio/pydashstudio/first.py +9 -9
- re_common/studio/streamlitstudio/first_app.py +65 -65
- re_common/studio/streamlitstudio/uber_pickups.py +23 -23
- re_common/studio/test.py +18 -18
- re_common/v2/baselibrary/business_utils/BusinessStringUtil.py +195 -0
- re_common/v2/baselibrary/business_utils/__init__.py +0 -0
- re_common/v2/baselibrary/business_utils/rel_tools.py +6 -0
- re_common/v2/baselibrary/decorators/utils.py +59 -59
- re_common/v2/baselibrary/s3object/baseboto3.py +230 -230
- re_common/v2/baselibrary/tools/WeChatRobot.py +95 -79
- re_common/v2/baselibrary/tools/ac_ahocorasick.py +75 -75
- re_common/v2/baselibrary/tools/dict_tools.py +37 -37
- re_common/v2/baselibrary/tools/dolphinscheduler.py +187 -187
- re_common/v2/baselibrary/tools/hdfs_data_processer.py +338 -338
- re_common/v2/baselibrary/tools/list_tools.py +65 -65
- re_common/v2/baselibrary/tools/search_hash_tools.py +54 -54
- re_common/v2/baselibrary/tools/text_matcher.py +326 -326
- re_common/v2/baselibrary/tools/unionfind_tools.py +60 -60
- re_common/v2/baselibrary/utils/BusinessStringUtil.py +196 -196
- re_common/v2/baselibrary/utils/author_smi.py +360 -360
- re_common/v2/baselibrary/utils/base_string_similarity.py +158 -158
- re_common/v2/baselibrary/utils/basedict.py +37 -37
- re_common/v2/baselibrary/utils/basehdfs.py +161 -161
- re_common/v2/baselibrary/utils/basepika.py +180 -180
- re_common/v2/baselibrary/utils/basetime.py +77 -77
- re_common/v2/baselibrary/utils/db.py +38 -38
- re_common/v2/baselibrary/utils/json_cls.py +16 -16
- re_common/v2/baselibrary/utils/mq.py +83 -83
- re_common/v2/baselibrary/utils/n_ary_expression_tree.py +243 -243
- re_common/v2/baselibrary/utils/string_bool.py +186 -149
- re_common/v2/baselibrary/utils/string_clear.py +227 -204
- re_common/v2/baselibrary/utils/string_smi.py +18 -18
- re_common/v2/baselibrary/utils/stringutils.py +213 -213
- re_common/vip/base_step_process.py +11 -11
- re_common/vip/baseencodeid.py +90 -90
- re_common/vip/changetaskname.py +28 -28
- re_common/vip/core_var.py +24 -24
- re_common/vip/mmh3Hash.py +89 -89
- re_common/vip/proxy/allproxys.py +127 -127
- re_common/vip/proxy/allproxys_thread.py +159 -159
- re_common/vip/proxy/cnki_proxy.py +153 -153
- re_common/vip/proxy/kuaidaili.py +87 -87
- re_common/vip/proxy/proxy_all.py +113 -113
- re_common/vip/proxy/update_kuaidaili_0.py +42 -42
- re_common/vip/proxy/wanfang_proxy.py +152 -152
- re_common/vip/proxy/wp_proxy_all.py +181 -181
- re_common/vip/read_rawid_to_txt.py +91 -91
- re_common/vip/title/__init__.py +5 -5
- re_common/vip/title/transform/TransformBookTitleToZt.py +125 -125
- re_common/vip/title/transform/TransformConferenceTitleToZt.py +139 -139
- re_common/vip/title/transform/TransformCstadTitleToZt.py +195 -195
- re_common/vip/title/transform/TransformJournalTitleToZt.py +203 -203
- re_common/vip/title/transform/TransformPatentTitleToZt.py +132 -132
- re_common/vip/title/transform/TransformRegulationTitleToZt.py +114 -114
- re_common/vip/title/transform/TransformStandardTitleToZt.py +135 -135
- re_common/vip/title/transform/TransformThesisTitleToZt.py +135 -135
- re_common/vip/title/transform/__init__.py +10 -10
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/LICENSE +201 -201
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/METADATA +16 -16
- re_common-10.0.24.dist-info/RECORD +230 -0
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/WHEEL +1 -1
- re_common-10.0.22.dist-info/RECORD +0 -227
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/top_level.txt +0 -0
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
# @Time : 2020/9/16 13:18
|
|
3
|
-
# @Author : suhong
|
|
4
|
-
# @File : mcss.py
|
|
5
|
-
# @Software: PyCharm
|
|
6
|
-
import jsonpath as jsonpath
|
|
7
|
-
from parsel import Selector
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class MParsel(object):
|
|
11
|
-
def __init__(self, html="", logger=None):
|
|
12
|
-
if logger is None:
|
|
13
|
-
from re_common.baselibrary import MLogger
|
|
14
|
-
logger = MLogger().streamlogger
|
|
15
|
-
self.logger = logger
|
|
16
|
-
self.html = html
|
|
17
|
-
if self.html:
|
|
18
|
-
self.set_sel(self.html)
|
|
19
|
-
|
|
20
|
-
def set_sel(self, html):
|
|
21
|
-
self.html = html
|
|
22
|
-
self.sel = Selector(html)
|
|
23
|
-
|
|
24
|
-
def css_parsel(self, sel, css_selector={}):
|
|
25
|
-
assert self.html, '解析html时html不能为空'
|
|
26
|
-
dicts = {}
|
|
27
|
-
parent = None
|
|
28
|
-
if css_selector:
|
|
29
|
-
# 保证 parent 存在时优先解析
|
|
30
|
-
if "parent" in css_selector.keys():
|
|
31
|
-
parent = sel.css(css_selector["parent"])
|
|
32
|
-
for key, value in css_selector.items():
|
|
33
|
-
if isinstance(value, dict):
|
|
34
|
-
if key == "children":
|
|
35
|
-
# assert parent, "parent 不存在"
|
|
36
|
-
list_c = []
|
|
37
|
-
for p_item in parent:
|
|
38
|
-
list_c.append(self.css_parsel(p_item, value))
|
|
39
|
-
dicts[key] = list_c
|
|
40
|
-
else:
|
|
41
|
-
dicts[key] = self.css_parsel(sel, value)
|
|
42
|
-
continue
|
|
43
|
-
if key == "parent":
|
|
44
|
-
continue
|
|
45
|
-
dicts[key] = sel.css(value).getall()
|
|
46
|
-
return dicts
|
|
47
|
-
|
|
48
|
-
def css_parsel_html(self, css_selector={}):
|
|
49
|
-
if self.html != "" and css_selector:
|
|
50
|
-
dict_ = dict()
|
|
51
|
-
for key, value in css_selector.items():
|
|
52
|
-
dict_[key] = self.sel.css(value).getall()
|
|
53
|
-
return True, dict_
|
|
54
|
-
else:
|
|
55
|
-
return False, ""
|
|
56
|
-
|
|
57
|
-
def xpath_parsel(self, sel, xpath_selector={}):
|
|
58
|
-
assert self.html, '解析html时html不能为空'
|
|
59
|
-
dicts = {}
|
|
60
|
-
parent = None
|
|
61
|
-
if xpath_selector:
|
|
62
|
-
# 保证 parent 存在时优先解析
|
|
63
|
-
if "parent" in xpath_selector.keys():
|
|
64
|
-
parent = sel.xpath(xpath_selector["parent"])
|
|
65
|
-
for key, value in xpath_selector.items():
|
|
66
|
-
if isinstance(value, dict):
|
|
67
|
-
if key == "children":
|
|
68
|
-
# assert parent, "parent 不存在"
|
|
69
|
-
list_c = []
|
|
70
|
-
for p_item in parent:
|
|
71
|
-
list_c.append(self.xpath_parsel(p_item, value))
|
|
72
|
-
dicts[key] = list_c
|
|
73
|
-
else:
|
|
74
|
-
dicts[key] = self.xpath_parsel(sel, value)
|
|
75
|
-
continue
|
|
76
|
-
if key == "parent":
|
|
77
|
-
continue
|
|
78
|
-
dicts[key] = sel.xpath(value).getall()
|
|
79
|
-
return dicts
|
|
80
|
-
|
|
81
|
-
def xpath_parsel_html(self, html="", xpath_selector={}):
|
|
82
|
-
if html != "" and xpath_selector:
|
|
83
|
-
sel = Selector(html)
|
|
84
|
-
dict_ = dict()
|
|
85
|
-
for key, value in xpath_selector.items():
|
|
86
|
-
dict_[key] = sel.xpath(value).getall()
|
|
87
|
-
return True, dict_
|
|
88
|
-
else:
|
|
89
|
-
return False, ""
|
|
90
|
-
|
|
91
|
-
def json_parsel(self, sel_json, json_selector={}):
|
|
92
|
-
assert self.html, '解析html时html不能为空'
|
|
93
|
-
re_dict = {}
|
|
94
|
-
if json_selector:
|
|
95
|
-
for key, value in json_selector.items():
|
|
96
|
-
re_dict[key] = jsonpath(sel_json, value)
|
|
97
|
-
dicts = {
|
|
98
|
-
"json_raw":sel_json,
|
|
99
|
-
"data":re_dict
|
|
100
|
-
}
|
|
101
|
-
return dicts
|
|
102
|
-
|
|
103
|
-
def asd(self):
|
|
104
|
-
pass
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# @Time : 2020/9/16 13:18
|
|
3
|
+
# @Author : suhong
|
|
4
|
+
# @File : mcss.py
|
|
5
|
+
# @Software: PyCharm
|
|
6
|
+
import jsonpath as jsonpath
|
|
7
|
+
from parsel import Selector
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class MParsel(object):
|
|
11
|
+
def __init__(self, html="", logger=None):
|
|
12
|
+
if logger is None:
|
|
13
|
+
from re_common.baselibrary import MLogger
|
|
14
|
+
logger = MLogger().streamlogger
|
|
15
|
+
self.logger = logger
|
|
16
|
+
self.html = html
|
|
17
|
+
if self.html:
|
|
18
|
+
self.set_sel(self.html)
|
|
19
|
+
|
|
20
|
+
def set_sel(self, html):
|
|
21
|
+
self.html = html
|
|
22
|
+
self.sel = Selector(html)
|
|
23
|
+
|
|
24
|
+
def css_parsel(self, sel, css_selector={}):
|
|
25
|
+
assert self.html, '解析html时html不能为空'
|
|
26
|
+
dicts = {}
|
|
27
|
+
parent = None
|
|
28
|
+
if css_selector:
|
|
29
|
+
# 保证 parent 存在时优先解析
|
|
30
|
+
if "parent" in css_selector.keys():
|
|
31
|
+
parent = sel.css(css_selector["parent"])
|
|
32
|
+
for key, value in css_selector.items():
|
|
33
|
+
if isinstance(value, dict):
|
|
34
|
+
if key == "children":
|
|
35
|
+
# assert parent, "parent 不存在"
|
|
36
|
+
list_c = []
|
|
37
|
+
for p_item in parent:
|
|
38
|
+
list_c.append(self.css_parsel(p_item, value))
|
|
39
|
+
dicts[key] = list_c
|
|
40
|
+
else:
|
|
41
|
+
dicts[key] = self.css_parsel(sel, value)
|
|
42
|
+
continue
|
|
43
|
+
if key == "parent":
|
|
44
|
+
continue
|
|
45
|
+
dicts[key] = sel.css(value).getall()
|
|
46
|
+
return dicts
|
|
47
|
+
|
|
48
|
+
def css_parsel_html(self, css_selector={}):
|
|
49
|
+
if self.html != "" and css_selector:
|
|
50
|
+
dict_ = dict()
|
|
51
|
+
for key, value in css_selector.items():
|
|
52
|
+
dict_[key] = self.sel.css(value).getall()
|
|
53
|
+
return True, dict_
|
|
54
|
+
else:
|
|
55
|
+
return False, ""
|
|
56
|
+
|
|
57
|
+
def xpath_parsel(self, sel, xpath_selector={}):
|
|
58
|
+
assert self.html, '解析html时html不能为空'
|
|
59
|
+
dicts = {}
|
|
60
|
+
parent = None
|
|
61
|
+
if xpath_selector:
|
|
62
|
+
# 保证 parent 存在时优先解析
|
|
63
|
+
if "parent" in xpath_selector.keys():
|
|
64
|
+
parent = sel.xpath(xpath_selector["parent"])
|
|
65
|
+
for key, value in xpath_selector.items():
|
|
66
|
+
if isinstance(value, dict):
|
|
67
|
+
if key == "children":
|
|
68
|
+
# assert parent, "parent 不存在"
|
|
69
|
+
list_c = []
|
|
70
|
+
for p_item in parent:
|
|
71
|
+
list_c.append(self.xpath_parsel(p_item, value))
|
|
72
|
+
dicts[key] = list_c
|
|
73
|
+
else:
|
|
74
|
+
dicts[key] = self.xpath_parsel(sel, value)
|
|
75
|
+
continue
|
|
76
|
+
if key == "parent":
|
|
77
|
+
continue
|
|
78
|
+
dicts[key] = sel.xpath(value).getall()
|
|
79
|
+
return dicts
|
|
80
|
+
|
|
81
|
+
def xpath_parsel_html(self, html="", xpath_selector={}):
|
|
82
|
+
if html != "" and xpath_selector:
|
|
83
|
+
sel = Selector(html)
|
|
84
|
+
dict_ = dict()
|
|
85
|
+
for key, value in xpath_selector.items():
|
|
86
|
+
dict_[key] = sel.xpath(value).getall()
|
|
87
|
+
return True, dict_
|
|
88
|
+
else:
|
|
89
|
+
return False, ""
|
|
90
|
+
|
|
91
|
+
def json_parsel(self, sel_json, json_selector={}):
|
|
92
|
+
assert self.html, '解析html时html不能为空'
|
|
93
|
+
re_dict = {}
|
|
94
|
+
if json_selector:
|
|
95
|
+
for key, value in json_selector.items():
|
|
96
|
+
re_dict[key] = jsonpath(sel_json, value)
|
|
97
|
+
dicts = {
|
|
98
|
+
"json_raw":sel_json,
|
|
99
|
+
"data":re_dict
|
|
100
|
+
}
|
|
101
|
+
return dicts
|
|
102
|
+
|
|
103
|
+
def asd(self):
|
|
104
|
+
pass
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
"""
|
|
2
|
-
重命名目录下的文件
|
|
3
|
-
"""
|
|
4
|
-
from re_common.baselibrary.utils.basedir import BaseDir
|
|
5
|
-
from re_common.baselibrary.utils.basefile import BaseFile
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def get_next_suffix(num):
|
|
9
|
-
num = num + 1
|
|
10
|
-
return "_" + str(num).zfill(4)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def rename_db3(dirpath, rename, start=0):
|
|
14
|
-
"""
|
|
15
|
-
重命名db3 文件 以后缀_001 或者 _000 开始
|
|
16
|
-
:param rename:
|
|
17
|
-
:param start: 1 代表_001 0代表_000
|
|
18
|
-
:return:
|
|
19
|
-
"""
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
:param dirpath:
|
|
23
|
-
:param rename:
|
|
24
|
-
:param start:
|
|
25
|
-
:return:
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
for file in BaseDir.get_dir_all_files(dirpath):
|
|
29
|
-
if file.endswith(".db3"):
|
|
30
|
-
BaseDir.get_upper_dir(file, -1)
|
|
31
|
-
renamepath = BaseFile.get_new_path(dirpath, rename + get_next_suffix(start) + ".db3")
|
|
32
|
-
BaseFile.rename_file(file, renamepath)
|
|
33
|
-
start = start + 1
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
rename_db3(r"\\192.168.31.65\d$\zt_data_db3\zt_normal_grx\zt_cnki_qk_20200323", "zt_cnki_qk_20200323")
|
|
37
|
-
rename_db3(r"\\192.168.31.65\d$\zt_data_db3\zt_normal_grx\zt_wf_qk_20200323", "zt_wf_qk_20200323")
|
|
1
|
+
"""
|
|
2
|
+
重命名目录下的文件
|
|
3
|
+
"""
|
|
4
|
+
from re_common.baselibrary.utils.basedir import BaseDir
|
|
5
|
+
from re_common.baselibrary.utils.basefile import BaseFile
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_next_suffix(num):
|
|
9
|
+
num = num + 1
|
|
10
|
+
return "_" + str(num).zfill(4)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def rename_db3(dirpath, rename, start=0):
|
|
14
|
+
"""
|
|
15
|
+
重命名db3 文件 以后缀_001 或者 _000 开始
|
|
16
|
+
:param rename:
|
|
17
|
+
:param start: 1 代表_001 0代表_000
|
|
18
|
+
:return:
|
|
19
|
+
"""
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
:param dirpath:
|
|
23
|
+
:param rename:
|
|
24
|
+
:param start:
|
|
25
|
+
:return:
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
for file in BaseDir.get_dir_all_files(dirpath):
|
|
29
|
+
if file.endswith(".db3"):
|
|
30
|
+
BaseDir.get_upper_dir(file, -1)
|
|
31
|
+
renamepath = BaseFile.get_new_path(dirpath, rename + get_next_suffix(start) + ".db3")
|
|
32
|
+
BaseFile.rename_file(file, renamepath)
|
|
33
|
+
start = start + 1
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
rename_db3(r"\\192.168.31.65\d$\zt_data_db3\zt_normal_grx\zt_cnki_qk_20200323", "zt_cnki_qk_20200323")
|
|
37
|
+
rename_db3(r"\\192.168.31.65\d$\zt_data_db3\zt_normal_grx\zt_wf_qk_20200323", "zt_wf_qk_20200323")
|