返回顶部
首页 > 资讯 > 后端开发 > Python >Python 使用Python远程连接并
  • 767
分享到

Python 使用Python远程连接并

Python 2023-01-30 23:01:10 767人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 python 3.4.0   Centos 6 64位(内核版本2.6.32-642.el6.x86_64)   influxdb-1.5.2

使用Python远程连接并操作InfluxDB数据库

by:授客 QQ:1033553122

python 3.4.0

 

Centos 6 64位(内核版本2.6.32-642.el6.x86_64)

 

influxdb-1.5.2.x86_64.rpm

网盘下载地址:

https://pan.baidu.com/s/1jAbY4xz5gvzoXxLHesQ-PA

 

 

influxdb-5.0.0-py2.py3-none-any.whl

下载地址:

Https://pypi.org/project/influxdb/#files

下载地址:https://pan.baidu.com/s/1DQ0HGYNg2a2-VnRSBdPHmg

 

 

 

database:数据库

measurement:数据库中的表;

point:表里面的一行数据。

 

每个行记录由time(纳秒时间戳)、字段(fields)和tags组成。

time:每条数据记录的时间,也是数据库自动生成的主索引

fields:记录各个字段的值;

tags:各种有索引的属性,一般用于where查询条件。

 

#encoding:utf-8

__author__ = 'shouke'

 

import random

 

from influxdb import InfluxDBClient

 

 

client = InfluxDBClient('10.203.25.106', 8086, timeout=10) # timeout 超时时间 10秒

 

print('获取数据库列表:')

database_list = client.get_list_database()

print(database_list)

 

print('\n创建数据库')

client.create_database('mytestdb')

print(client.get_list_database())

 

print('\n切换至数据库(切换至对应数据库才可以操作数据库对象)\n')

client.switch_database('mytestdb')

 

print('插入表数据\n')

for i in range(0, 10):

    JSON_body = [

        {

            "measurement": "table1",

            "tags": {

                "stuid": "stuid1"

            },

            # "time": "2018-05-16T21:58:00Z",

            "fields": {

                "value": float(random.randint(0, 1000))

            }

        }

    ]

    client.write_points(json_body)

 

print('查看数据库所有表\n')

tables = client.query('show measurements;')

 

print('查询表记录')

rows = client.query('select value from table1;')

print(rows)

 

print('\n删除表\n')

client.drop_measurement('table1')

 

print('删除数据库\n')

client.drop_database('mytestdb')

 

 

输出结果:

获取数据库列表:

[{'name': '_internal'}]

 

创建数据库

[{'name': '_internal'}, {'name': 'mytestdb'}]

 

切换至数据库(切换至对应数据库才可以操作数据库对象)

 

插入表数据

 

查看数据库所有表

 

查询表记录

ResultSet({'('table1', None)': [{'time': '2018-05-23T11:55:55.341839963Z', 'value': 165}, {'time': '2018-05-23T11:55:55.3588771Z', 'value': 215}, {'time': '2018-05-23T11:55:55.367430575Z', 'value': 912}, {'time': '2018-05-23T11:55:55.37528554Z', 'value': 34}, {'time': '2018-05-23T11:55:55.383530082Z', 'value': 680}, {'time': '2018-05-23T11:55:55.391322174Z', 'value': 247}, {'time': '2018-05-23T11:55:55.399173622Z', 'value': 116}, {'time': '2018-05-23T11:55:55.407073805Z', 'value': 224}, {'time': '2018-05-23T11:55:55.414792607Z', 'value': 415}, {'time': '2018-05-23T11:55:55.422871017Z', 'value': 644}]})

 

删除表

 

删除数据库

 

说明:

class influxdb.InfluxDBClient(host=u'localhost', port=8086, username=u'root', password=u'root', database=None, ssl=False, verify_ssl=False, timeout=None, retries=3, use_udp=False, udp_port=4444, proxies=None)

 

参数

host (str) – 用于连接的InfluxDB主机名称,默认‘localhost’

port (int) – 用于连接的Influxport端口,默认8086

username (str) – 用于连接的用户名,默认‘root’

password (str) – 用户密码,默认‘root’

database (str) – 需要连接的数据库,默认None

ssl (bool) – 使用https连接,默认False

verify_ssl (bool) – 验证https请求的SSL证书,默认False

timeout (int) – 连接超时时间(单位:秒),默认None,

retries (int) – 终止前尝试次数(number of retries your client will try before aborting, defaults to 3. 0 indicates try until success)

use_udp (bool) – 使用UDP连接到InfluxDB默认False

udp_port (int) – 使用UDP端口连接,默认4444

proxies (dict) – 为请求使用http(s)代理,默认 {}

 

query(query, params=None, epoch=None, expected_response_code=200, database=None, raise_errors=True, chunked=False, chunk_size=0)

参数:

query (str) – 真正执行查询的字符串

params (dict) – 查询请求的额外参数,默认{}

epoch (str) – response timestamps to be in epoch fORMat either ‘h’, ‘m’, ‘s’, ‘ms’, ‘u’, or ‘ns’,defaults to None which is RFC3339 UTC format with nanosecond precision

expected_response_code (int) – 期望的响应状态码,默认 200

database (str) – 要查询的数据库,默认数据库

raise_errors (bool) – 查询返回错误时,是否抛出异常,默认

chunked (bool) – Enable to use chunked responses from InfluxDB. With chunked enabled, one ResultSet is returned per chunk containing all results within that chunk

chunk_size (int) – Size of each chunk to tell InfluxDB to use.

 

返回数据查询结果集

 

write_points(points, time_precision=None, database=None, retention_policy=None, tags=None, batch_size=None, protocol=u'json')

参数

points  由字典项组成的list,每个字典成员代表了一个

time_precision (str) – Either ‘s’, ‘m’, ‘ms’ or ‘u’, defaults to None

database (str) – points需要写入的数据库,默认为当前数据库

tags (dict) – 同每个point关联的键值对,key和value都要是字符串.

retention_policy (str) – the retention policy for the points. Defaults to None

batch_size (int) – value to write the points in batches instead of all at one time. Useful for when doing data dumps from one database to another or when doing a massive write operation, defaults to None

protocol (str) – Protocol for writing data. Either ‘line’ or ‘json’.

如果操作成功,返回True

 

query,write_points操作来说,如果操作执行未调用switch_database函数,切换到目标数据库,可以在调用query,write_points函数时,可以指定要操作的数据库,如下

client.query('show measurements;', database='mytestdb')

client.write_points(json_body, database='mytestdb')

 

points参数值,可以不指定 time,这样采用influxdb自动生成的时间

    json_body = [

        {

            "measurement": "table1",

            "tags": {

                "stuid": "stuid1"

            },

            # "time": "2018-05-16T21:58:00Z",

            "fields": {

                "value": float(random.randint(0, 1000))

            }

        }

    ]

 

另外,需要注意的是,influxDB使用UTC时间,所以,如果显示指定时间,需要做如下处理:

timetuple = time.strptime(time.localtime(), '%Y-%m-%d %H:%M:%S')

second_for_localtime_utc = int(time.mktime(timetuple)) + 1 - 8 * 3600 # UTC时间(秒)

timetuple = time.localtime(second_for_localtime_utc)

date_for_data = time.strftime('%Y-%m-%d', timetuple)

time_for_data = time.strftime('%H:%M:%S', timetuple)

datetime_for_data = date_for_data + 'T' + time_for_data + 'Z'

 

json_body = [

{

        "measurement": "table1",

        "tags": {

            "stuid": "stuid1"

        },

        "time": datetime_for_data,

        "fields": {

            "value": float(random.randint(0, 1000))

        }

   }

]

 

 

https://influxdb-Python.readthedocs.io/en/latest/api-documentation.html#influxdbclient

 

--结束END--

本文标题: Python 使用Python远程连接并

本文链接: https://lsjlt.com/news/181138.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 使用Python远程连接并
    使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 Python 3.4.0   CentOS 6 64位(内核版本2.6.32-642.el6.x86_64)   influxdb-1.5.2...
    99+
    2023-01-30
    Python
  • python远程连接脚本
    #!/bin/pythonimport paramiko 安装远程模块host='192.168.4.254' 需远程主机ssh = paramiko.SSHClient() ssh.set_miss...
    99+
    2023-01-31
    脚本 python
  • MySQL操作并使用Python进行连接
    目录一、表格与键概念二、创建资料库三、创建表格四、储存资料五、限制约束六、修改、删除资料七、取得资料八、创建公司资料库九、取得公司资料十、聚合函数十一、万用子元十二、联集十三、连接十...
    99+
    2024-04-02
  • 怎么用Pycharm连接远程Python环境
    这篇文章主要讲解了“怎么用Pycharm连接远程Python环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Pycharm连接远程Python环境”吧! 前言本次咱们来操作...
    99+
    2023-06-15
  • python连接sql server并执
    python操作sql server,可以使用pymssql,成功安装pymssql后,按照如下的方法,可以连接数据库并执行查询操作: import pymssql #数据库服务器信息 server="localhost" user="...
    99+
    2023-01-31
    python sql server
  • python使用pyodbc连接sqlserver
    用python操作ms sqlserver,有好几种方法: (1)利用pymssql (2)利用pyodbc 这里讲import pyodbc来操作sql&nbs...
    99+
    2023-02-08
    python 连接sqlserver python sqlserver连接
  • python使用jdbc连接phoeni
    lib使用jaydebeapi,依赖jpype 链接:https://pypi.python.org/pypi/JayDeBeApi/ 代码里面有说明 threadsafety = 1,我试了跨线程访问创建的连接对象,进程直接挂了,后...
    99+
    2023-01-31
    python jdbc phoeni
  • python 使用pymssql连接sq
    Python连接SQL Server数据库 - pymssql使用基础   ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html下面是pymssql里参数使用说明,如...
    99+
    2023-01-31
    python pymssql sq
  • python使用stomp连接activ
    python使用stomp连接activemq        本篇内容为大家提供的是python使用stomp连接activemq和stomp简介,详细而全面,感兴趣的朋友,可以参考学习一下。 STOMP即Simple (or S...
    99+
    2023-01-31
    python stomp activ
  • python 使用pymssql 连接M
    知识点:如果连接数据库不使用默认端口,需要在连接host地址上加上端口 如cacelbert01.mysql.alibabalabs.com:3306 #coding=gbk ################################...
    99+
    2023-01-31
    python pymssql
  • 使用Python连接并操作mysql数据库方法
    下面讲讲关于使用Python连接并操作mysql数据库方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完使用Python连接并操作mysql数据库方法这篇文章你一定会有所受益。...
    99+
    2024-04-02
  • 使用 Python 连接 SSH 服务器并执行命令
    实际开发中,有时候经常需要查看日志,有时候使用ssh工具打开就为了看一下错误日志又比较麻烦,所以今天带来一个简单的基于python的小工具. 首先需要先安装一个库 paramiko 使用命令直接安装 ...
    99+
    2023-10-20
    python ssh 服务器
  • vscode+ssh连接远程linux系统服务器,并用anaconda管理python环境
    vscode+ssh连接远程linux系统服务器,并用anaconda管理python环境 (一)vscode连接服务器1. vscode下载插件:remote-SSH2. 连接服务器3. 修...
    99+
    2023-09-07
    linux 服务器 vscode
  • 教你使用Python连接oracle
    目录一、下载instant client二、cmd加载包三、python连接oracle数据库四、解决监听问题(无此问题可跳过)五、oracle数据库数据抽取调用一、下载instan...
    99+
    2024-04-02
  • 怎么使用Python连接MySQL
    这篇文章主要介绍了怎么使用Python连接MySQL的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python连接MySQL文章都会有所收获,下面我们一起来看看吧。1、MySQL-pythonMySQL...
    99+
    2023-06-27
  • 使用Python访问软连接
    使用Python 访问软连接 在linux系统中可以使用软连接从而使多个一个文件夹可以被多个路径引用。 下面的这两个语句可以用来判断一个路径是不是软...
    99+
    2023-01-31
    Python
  • 怎么使用phpmyadmin远程连接
    小编给大家分享一下怎么使用phpmyadmin远程连接,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需要用本地的PHPMYADM...
    99+
    2024-04-02
  • Python连接MongoDB数据库并执
    环境设置:[root@mongodb ~]# cat /etc/redhat-release  CentOS release 6.9 (Final) [root@mongodb ~]# python -V Python 2.6.61.首先确...
    99+
    2023-01-31
    数据库 Python MongoDB
  • python连接redis3.x集群并做
    notes------- (1)redis3.x集群模式操作需要List of all supported python versions.2.7/3.2/3.3/3.4.1+/3.5 #!/usr/bin/python # -*- ...
    99+
    2023-01-31
    集群 并做 python
  • Python连接impala并获取数据
    环境:Centos6.5 python2.7 1、下载并安装Python package:impyla-0.14.0.tar.gz https://pypi.python.org/packages/6c/30/da9fe733561eb9...
    99+
    2023-01-31
    数据 Python impala
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作