这个存储库包含一组我在其他项目中使用的库

procamora-utils的Python项目详细描述


Python

这个存储库包含一组我在其他项目中使用的库

安装

安装可以通过pip3命令完成:

pip3 install procamora-utils --user

也可以使用以下内容更新库:

^{pr2}$

图书馆

  • 记录器
  • 接口
  • ip地址
  • 客户端\u ssh

记录器

库运行日志库,根据日志类型使用颜色。在

基本用法

要使用此类,首先要导入库:

importloggingfromprocamora_utils.loggerimportget_logginglogger:logging=get_logging(verbose=False,name='test')logger.debug('hi')logger.info('hi')logger.warning('hi')logger.error('hi')logger.critical('hi')

接口

这个库提供了一种管理sqlite数据库的简单方法。为此,请使用sqlite3库连接到数据库,logging库显示有关错误和调试的信息。在

基本用法

要使用此类,首先要导入库:

fromprocamora_utils.loggerimportget_loggingfromprocamora_utils.interface_sqliteimport*

当执行import*时,interface_sqlite我们导入了三个函数,它们是:

__all__ = ['conection_sqlite', 'execute_script_sqlite', 'dump_database']

连接

此函数负责执行主要的SQL操作,例如:SELECTINSERTUPDATEDELETE。在

这些功能的一个例子是:

frompathlibimportPathfromtypingimportList,Dict,Text,Anyfromprocamora_utils.interface_sqliteimport*db:Path=Path('database.db')defselect_all_hosts()->List[Dict[Text,Any]]:query:Text="SELECT * FROM Hosts"response_query:List[Dict[Text,Any]]=conection_sqlite(db,query,is_dict=True)returnresponse_querydefupdate_host_offline(date:Text):query:Text=f"UPDATE Hosts SET active=0 WHERE date <> '{date}';"conection_sqlite(db,query)

参数化查询

这个库允许参数化sql查询,下面是一个如何使用它的示例

frompathlibimportPathfromtypingimportList,Dict,Text,Any,Tuplefromprocamora_utils.interface_sqliteimport*db:Path=Path('database.db')query:Text="SELECT * FROM table1 WHERE value=?"params:Tuple=('Python',)response_query:List[Dict[Text,Any]]=conection_sqlite(db,query,query_params=params,is_dict=True)

执行\u script_sqlite

此函数允许您运行以字符串格式接收的脚本或转储。使用此功能,可以创建数据库。在

frompathlibimportPathfromtypingimportTextfromprocamora_utils.interface_sqliteimport*db:Path=Path('database.db')dump:Text='''INSERT INTO() VALUES();INSERT INTO() VALUES();'''execute_script_sqlite(db,dump)

转储数据库

此函数允许您执行数据库的完整转储。在

frompathlibimportPathfromprocamora_utils.interface_sqliteimport*db:Path=Path('database.db')response=dump_database(db)

ip地址

此库为存储IP地址或FQDN提供了高级抽象。如果输入错误的值,则会引发异常。在

基本用法

importloggingfromtypingimportTextfromprocamora_utils.ipimportIPfromprocamora_utils.loggerimportget_logginglogger:logging=get_logging(False,'ip')fqdn:Text='google.es'ip:IP=IP(fqdn=fqdn)logger.info(ip.get_addr())ipv4:Text='192.168.1.1'ip:IP=IP(ip=ipv4)logger.info(ip.get_addr())

这个库提供了一种使用操作系统提供的ping命令进行ping的简单方法。使用操作系统命令的原因是,不需要以root用户身份发送ICMP数据包。在

基本用法

要使用此类,首先要导入库:

importloggingfromtypingimportListfromprocamora_utils.ipimportIPfromprocamora_utils.pingimportpingfromprocamora_utils.loggerimportget_logginglogger:logging=get_logging(False,'ping')ips:List[IP]=[IP(ip="127.0.0.1"),IP(ip="192.168.0.103"),IP(fqdn="google.es"),IP(fqdn="google.false")]foripinips:texto:bool=ping(ip)iftexto:logger.info("{} up".format(ip.get_addr()))else:logger.info("{} down".format(ip.get_addr()))

客户端\u ssh

此库为存储IP地址或FQDN提供了高级抽象。如果输入错误的值,则会引发异常。在

基本用法

importloggingfromtypingimportTextfromprocamora_utils.ipimportIPfromprocamora_utils.loggerimportget_logginglogger:logging=get_logging(False,'ip')fqdn:Text='google.es'ip:IP=IP(fqdn=fqdn)logger.info(ip.get_addr())ipv4:Text='192.168.1.1'ip:IP=IP(ip=ipv4)logger.info(ip.get_addr())

这个库提供了一种使用ssh命令的简单方法,允许您通过ssh进行无人值守连接,从而简化流程自动化任务。在

基本用法

要使用此类,首先要导入库:

fromprocamora_utils.loggerimportget_logging,loggingfromprocamora_utils.client_sshimportcreate_arg_parser,ClientSSHlogger:logging=get_logging(False,'ping')args=create_arg_parser()ssh:ClientSSH=ClientSSH(args.ip,args.port,args.verbose)output=ssh.execute_command(user=args.user,password=args.pwd,cert=args.key,sudo=args.sudo)print(output)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF