修改版本,修改注释信息
This commit is contained in:
parent
77559364e2
commit
6236862a8e
|
@ -1,6 +1,15 @@
|
||||||
changes log
|
changes log
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
1.0.2 2024-01-26
|
||||||
|
|
||||||
|
1、配置文件拆分,将文本和数据库的分开
|
||||||
|
2、文件支持配置指定目录
|
||||||
|
3、数据量参数化
|
||||||
|
|
||||||
|
[mh]
|
||||||
------------------------------
|
------------------------------
|
||||||
1.0.2 2024-01-08
|
1.0.2 2024-01-08
|
||||||
|
|
||||||
|
|
38
README.md
38
README.md
|
@ -5,21 +5,33 @@
|
||||||
## 使用说明:
|
## 使用说明:
|
||||||
|
|
||||||
1. 安装python3
|
1. 安装python3
|
||||||
|
|
||||||
2. 在当前目录中中,打开cmd
|
2. 在当前目录中中,打开cmd
|
||||||
|
|
||||||
3. 执行脚本:
|
3. 执行脚本:
|
||||||
文件:
|
文件:
|
||||||
python bin/fileDataCreating.py
|
|
||||||
|
```python
|
||||||
# 会在当前目录中产生一个data目录,会持续的在这个目录中产生文件、以及对增加、删除、和修改
|
python bin/fileDataCreating.py
|
||||||
|
|
||||||
|
|
||||||
|
# 默认会在当前目录中产生一个data目录,会持续的在这个目录中产生文件、以及对增加、删除、和修改
|
||||||
|
# 可修改 /etc/file_config.yml 配置文件调整输出位置、产生文件的大小
|
||||||
|
```
|
||||||
|
|
||||||
数据库(目前支持MySQL和Oracle):
|
数据库(目前支持MySQL和Oracle):
|
||||||
1. 修改数据库的连接配置文件 /bin/DBConfig.py
|
|
||||||
2. 运行命令:
|
- 修改数据库的连接配置文件 /etc/db_config.yml
|
||||||
python bin/SQLDataCreating.py
|
|
||||||
|
- 运行命令:
|
||||||
注:
|
|
||||||
1. 在windows上执行
|
```python
|
||||||
2. 确认可以通过工具(如:Navicat等)连接数据库
|
python bin/SQLDataCreating.py
|
||||||
3. 需要事先创建好database,并在DBConfig.py中配置连接信息
|
|
||||||
|
注:
|
||||||
|
1. 在windows上执行
|
||||||
|
2. 确认可以通过工具(如:Navicat等)连接数据库
|
||||||
|
3. 需要事先创建好database,并在/etc/db_config.yml中配置连接信息
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ from schedule import every, repeat, run_pending
|
||||||
1. 用于数据库的持续增、删、改,目前支持MySQL和Oracle
|
1. 用于数据库的持续增、删、改,目前支持MySQL和Oracle
|
||||||
2. DBConfig.py 为数据库连接配置,使用时需要修改连接信息
|
2. DBConfig.py 为数据库连接配置,使用时需要修改连接信息
|
||||||
- 每周一建立一张表
|
- 每周一建立一张表
|
||||||
- 每秒往测试表中插入200条数据
|
- 每秒往测试表中插入N条数据
|
||||||
- 每5分钟删除100条数据
|
- 每5分钟删除N条数据
|
||||||
- 每1小时,修改一下数据
|
- 每1小时,修改一下数据
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ def create_table():
|
||||||
print("table maybe exists,continue this create table task.")
|
print("table maybe exists,continue this create table task.")
|
||||||
|
|
||||||
|
|
||||||
#每秒插入200条数据
|
#每秒插入N条数据
|
||||||
@repeat(every(2).seconds)
|
@repeat(every(2).seconds)
|
||||||
def insert_data():
|
def insert_data():
|
||||||
print("insert data ....")
|
print("insert data ....")
|
||||||
|
@ -80,7 +80,7 @@ def insert_data():
|
||||||
except:
|
except:
|
||||||
create_table()
|
create_table()
|
||||||
|
|
||||||
#每5分钟删除100条数据
|
#每5分钟删除N条数据
|
||||||
@repeat(every(5).minutes)
|
@repeat(every(5).minutes)
|
||||||
def dalete_data():
|
def dalete_data():
|
||||||
db_config2 = get_db_info()
|
db_config2 = get_db_info()
|
||||||
|
|
|
@ -23,7 +23,7 @@ def save_data_csv(file_name,lines=100):
|
||||||
writer = csv.writer(file_csv, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
|
writer = csv.writer(file_csv, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
|
||||||
writer.writerows(datas)
|
writer.writerows(datas)
|
||||||
|
|
||||||
#生成数据
|
#生成数据,默认10条
|
||||||
def faker_data(lines=10):
|
def faker_data(lines=10):
|
||||||
#指定数据的国家地区
|
#指定数据的国家地区
|
||||||
f = Faker('zh-CN')
|
f = Faker('zh-CN')
|
||||||
|
@ -35,7 +35,7 @@ def faker_data(lines=10):
|
||||||
#添加标题到列表中
|
#添加标题到列表中
|
||||||
datas.append(title)
|
datas.append(title)
|
||||||
#datas.append(title2)
|
#datas.append(title2)
|
||||||
#开始按照标题的顺序,生成5w条数据
|
#开始按照标题的顺序,生成N条数据
|
||||||
for i in range(0,lines):
|
for i in range(0,lines):
|
||||||
#定义一个列表,用来存一行数据
|
#定义一个列表,用来存一行数据
|
||||||
data = []
|
data = []
|
||||||
|
@ -65,7 +65,7 @@ def faker_data(lines=10):
|
||||||
#地址,让其更加复合中国的地址
|
#地址,让其更加复合中国的地址
|
||||||
address = f.address()[:-9] + str(f.pyint(min_value=0, max_value=999))+ "号"
|
address = f.address()[:-9] + str(f.pyint(min_value=0, max_value=999))+ "号"
|
||||||
data.append(address)
|
data.append(address)
|
||||||
#获取时间,近3年的
|
#获取当前时间
|
||||||
actime_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
|
actime_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
|
||||||
data.append(actime_time)
|
data.append(actime_time)
|
||||||
#将这一行数据添加到datas中
|
#将这一行数据添加到datas中
|
||||||
|
|
|
@ -14,12 +14,12 @@ from random import choice
|
||||||
说明:
|
说明:
|
||||||
1. 用于文件的持续创建、写入、修改和创建
|
1. 用于文件的持续创建、写入、修改和创建
|
||||||
2. 输出目录为data,会在里面创建当天的子目录
|
2. 输出目录为data,会在里面创建当天的子目录
|
||||||
3. 每1小时,生成一个sv文件
|
3. 每1小时,生成一个CSV文件
|
||||||
4. 每1秒,向上面的文件中写入100条数据
|
4. 每1秒,向上面的文件中写入N条数据
|
||||||
5. 每10分钟,从当天的文件中随机找个1个文件,删除前100条数据
|
5. 每10分钟,从当天的文件中随机找个1个文件,删除前N条数据
|
||||||
6. 每6小时,从所有的文件中随机删除1个文件
|
6. 每6小时,从所有的文件中随机删除1个文件
|
||||||
"""
|
"""
|
||||||
#TODO(MH):目前这些参数是写死的,后续看使用情况,也可以去读配置文件的
|
|
||||||
|
|
||||||
# 定义公共的部分
|
# 定义公共的部分
|
||||||
path = Path(__file__)
|
path = Path(__file__)
|
||||||
|
@ -59,7 +59,7 @@ def file_info():
|
||||||
return (file_info_list)
|
return (file_info_list)
|
||||||
|
|
||||||
# 每小时生成一个csv文件
|
# 每小时生成一个csv文件
|
||||||
# @repeat(every(1).hours) TODO(MH):这个是基于运行的时间,不是基于系统时间
|
# @repeat(every(1).hours)--MH:这个是基于运行的时间,不是基于系统时间
|
||||||
def new():
|
def new():
|
||||||
print('new...')
|
print('new...')
|
||||||
# 创建文件夹
|
# 创建文件夹
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -7,7 +7,7 @@ for line in open('requirements.txt'):
|
||||||
install_requires.append(line.strip())
|
install_requires.append(line.strip())
|
||||||
|
|
||||||
setup(name='dataCreating',
|
setup(name='dataCreating',
|
||||||
version='0.0.1',
|
version='1.0.3',
|
||||||
description='',
|
description='',
|
||||||
long_description="""\
|
long_description="""\
|
||||||
""",
|
""",
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -25,4 +25,4 @@ deps =
|
||||||
-r{toxinidir}/requirements.txt
|
-r{toxinidir}/requirements.txt
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
{envpython} {toxinidir}/release.py {envdir} {envsitepackagesdir} {toxinidir}/build/dataCreating_v1.0.2 {toxinidir}
|
{envpython} {toxinidir}/release.py {envdir} {envsitepackagesdir} {toxinidir}/build/dataCreating_v1.0.3 {toxinidir}
|
||||||
|
|
Loading…
Reference in New Issue