Skip to main content

A etool package for security monitoring

Project description

安装

使用 pip 安装 etool:

pip install -U etool

功能与使用示例

网络

测试网络速度

from etool import ManagerSpeed
ManagerSpeed.network() # 网络测试
ManagerSpeed.disk() # 硬盘测试
ManagerSpeed.memory() # 内存测试
ManagerSpeed.gpu_memory() # GPU测试

屏幕与文件分享

分享屏幕

from etool import ManagerShare
ManagerShare.screen_share() # 分享屏幕

分享文件

from etool import ManagerShare
ManagerShare.share_file() # 分享文件

办公

PDF处理

from etool import ManagerPdf

# doc、xlsx等转换为pdf(转换一个)
ManagerPdf.pdfconverter(os.path.join(os.path.dirname(__file__),'pdf','ex1.docx'),os.path.join(os.path.dirname(__file__),'pdf_out'))
# doc、xlsx等转换为pdf(转换一个目录下的所有文件)
ManagerPdf.pdfconverter(os.path.join(os.path.dirname(__file__),'pdf'),os.path.join(os.path.dirname(__file__),'pdf_out'))

# 给pdf文件添加水印(一个文件)
ManagerPdf.create_watermarks(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out','watermarks.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out_watermark'))
# 给pdf文件添加水印(一个目录下的所有文件)
ManagerPdf.create_watermarks(os.path.join(os.path.dirname(__file__),'pdf_out'),os.path.join(os.path.dirname(__file__),'pdf_out','watermarks.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out_watermark'))


# 加密pdf文件
ManagerPdf.encrypt_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),r"1234567890")
# 解密pdf文件
ManagerPdf.decrypt_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1_encrypted.pdf'),r"1234567890")

# 拆分pdf文件(按页数)每3页一份
ManagerPdf.split_by_pages(os.path.join(os.path.dirname(__file__),'pdf_out','merged.pdf'),3)
# 拆分pdf文件(按份数)生成2份
ManagerPdf.split_by_num(os.path.join(os.path.dirname(__file__),'pdf_out','merged.pdf'),2)

# 将pdf ex2插入到pdf ex1的指定页后
ManagerPdf.insert_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out','ex2.pdf'),0,os.path.join(os.path.dirname(__file__),'pdf_out','pdf_insert.pdf'))

docx处理

from etool import ManagerDocx
word_path = 'ex1.docx' # docx文件路径
result_path = 'result' # 保存路径
ManagerDocx.replace_words(word_path, '1', '2') # 替换文档中的文字
ManagerDocx.change_forward(word_path, 'result.docx') # 更改文档格式
ManagerDocx.get_pictures(word_path, result_path) # 提取docx中的图片至result文件夹

邮件发送

from etool import ManagerEmail
ManagerEmail.send_email(
    sender='1234567890@qq.com',
    password='1234567890',
    recipient='1234567890@qq.com',
    subject='测试邮件',
    message='测试邮件内容',
    file_path='test.txt',
    image_path='test.webp'
) # 发送邮件

图片处理

from etool import ManagerImage
pics = ['pic1.webp', 'pic2.webp'] # 图片路径列表
ManagerImage.merge_LR(pics) # 左右拼接
ManagerImage.merge_UD(pics) # 上下拼接
ManagerImage.fill_image('pic1_UD.webp') # 填充图片
ManagerImage.cut_image('pic1_UD_fill.webp') # 裁剪图片
ManagerImage.rename_images('tests', remove=True) # 重命名图片

表格处理

from etool import ManagerExcel
excel_path = 'ex1.xlsx' # excel文件路径
save_path = 'result.xlsx' # 保存路径
ManagerExcel.excel_format(excel_path, save_path) # 复制ex1.xlsx的样式到result.xlsx

二维码生成

from etool import ManagerQrcode
qr_path = 'qr.png' # 保存路径
ManagerQrcode.generate_english_qrcode(words='https://www.baidu.com', qr_path) # 生成不含中文的二维码
ManagerQrcode.generate_qrcode(words='百度', qr_path) # 生成含中文的二维码
ManagerQrcode.decode_qrcode(qr_path) # 解码二维码

ipynb转换

from etool import ManagerIpynb
ipynb_dir = 'ipynb_dir' # ipynb文件夹路径
md_dir = 'md' # md文件夹路径

ManagerIpynb.merge_notebooks(ipynb_dir) # 合并ipynb文件
ManagerIpynb.convert_notebook_to_markdown(ipynb_dir+'.ipynb', md_dir) # 将ipynb文件转换为md文件

其他

任务调度

from etool import ManagerScheduler

def job():
    print("job")
    raise Exception("error")

def func_success():
    print("success")

def func_failure():
    print("failure")

ManagerScheduler.pocwatch(job, 2, func_success, func_failure)
"""
- `job`: 任务函数
- `schedule_time`: 执行时间
- `func_success`: 任务成功时的回调函数
- `func_failure`: 任务失败时的回调函数

`schedule_time`的格式如下:

如果是数字则默认单位是秒,每间隔`schedule_time`秒执行一次,例如`120`,则每2分钟执行一次。

如果是字符串则默认是时间点,请遵从`HH:MM`的格式,例如`08:00`,每天在这个时间点执行一次。

如果是列表,则默认是多个时间点,例如`["08:00", "12:00", "16:00"]`,每天在这些时间点执行一次。

如果传入的是字典,则解析字典的键:

如果字典的键为数字,则默认是日期,对应字典的值遵从上方数字、字符串、列表的判断。

如果字典的键为字符串,则默认是星期几(以周一为例,支持的写法包括:`1`、`monday`、`Monday`、`MONDAY`、`mon`、`mon.`、`m`,以此类推),对应字典的值遵从上方数字、字符串、列表的判断。

例如下面是1号的8点、2号的8点、12点、16点、3号每隔一个小时执行一次、每周一的8点执行一次。

schedule_time = {
1: "08:00",
2: ["08:00", "12:00", "16:00"],
3: 216000,
"1": "08:00",
}

"""
# 如果你不确定调度时间,可以先使用parse_schedule_time函数,确认一下
ManagerScheduler.parse_schedule_time(120)
ManagerScheduler.parse_schedule_time("08:00")
ManagerScheduler.parse_schedule_time(["08:00", "12:00", "16:00"])
ManagerScheduler.parse_schedule_time({1: "08:00", 2: ["08:00", "12:00", "16:00"], 3: 216000, "1": "08:00"})

密码生成

from etool import ManagerPassword
print(ManagerPassword.generate_pwd_list(ManagerPassword.results['all_letters'] + ManagerPassword.results['digits'], 2))
# 生成2位密码的所有可能(可用于密码爆破)
print(ManagerPassword.random_pwd(8))
# 随机生成8位密码(随机加密)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etool-1.3.7.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etool-1.3.7-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file etool-1.3.7.tar.gz.

File metadata

  • Download URL: etool-1.3.7.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for etool-1.3.7.tar.gz
Algorithm Hash digest
SHA256 d6a60c7ca665a4fda60ce2e34b547f3a726f69b3127115e00e68992fb0d68480
MD5 4a0211f8ba6ffa2c728be58379ee67f9
BLAKE2b-256 2fe3a61625d3f5700634203dc2c84d5d389243e6ce26a7b0a0a89dfd24b4ae81

See more details on using hashes here.

File details

Details for the file etool-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: etool-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for etool-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dfe577df14b8e7fbaf0b8fc3bd528f9c312219888b0ddf35e7726cae25743efd
MD5 4a6f76f1b87bfccd2f1512ba4b05e054
BLAKE2b-256 0c51eed99a768c70c2eb387b519028905e63779da1c596f949443bdaf9b2e83b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page