如下圖所示
使用的命令
列出所有環(huán)境
conda env list
激活特定環(huán)境
conda activate pytorch
在該環(huán)境下安裝
pip install tabulate
前言
本篇博客是python開(kāi)發(fā)的使用案例博客,結(jié)合一些具體的案例進(jìn)行闡述,本篇博客主要內(nèi)容是使用Python發(fā)送Get請(qǐng)求,模擬http請(qǐng)求,后面可以搞個(gè)爬蟲(chóng)出來(lái),另外就是如何使用Python進(jìn)行SSH連接服務(wù)器。
其他相關(guān)的博客文章如下:
- Python開(kāi)發(fā)——工具篇 & Pycharm的相關(guān)配置,Python相關(guān)操作 & 持續(xù)更新
引出
1.使用Python發(fā)送Get請(qǐng)求,模擬http請(qǐng)求;
2.如何使用Python進(jìn)行SSH連接服務(wù)器;
python發(fā)送get請(qǐng)求
案例1:get請(qǐng)求,間隔1分鐘查詢,if語(yǔ)法打印
import requests
import time
from datetime import datetime
url=f'http://x.x.x.x:8082/sn' #格式化輸出拼接
snTarget = "S231012J0029"
while(True):
response = requests.get(url=url)
snList = response.json()
current_time = datetime.now()
if snTarget in snList:
print("%s 查詢到目標(biāo)sn" %current_time)
else:
print("%s 未查到設(shè)備sn" %current_time)
time.sleep(60)
案例2:間隔一定時(shí)間,輪流進(jìn)行g(shù)et請(qǐng)求,總共2個(gè)
# encoding:utf-8
import requests
import time
from datetime import datetime
req3 = "http://xxxx"
req4 = "http://xxxx"
reqs = [req3, req4]
vers = ["2.0.3", "2.0.4"]
url = f'http://x.x.x.x:8082/sn' # 格式化輸出拼接
snTarget = "S231012J0029"
while (True):
response = requests.get(url=url)
snList = response.json()
current_time = datetime.now()
if snTarget in snList:
print("%s 查詢到目標(biāo)sn" % current_time)
for ver, req in zip(vers, reqs):
print("{} 進(jìn)行版本升級(jí) {}".format(datetime.now(), ver))
# print("send request :", req)
resp = requests.get(url=req).json()
print(resp)
time.sleep(430)
else:
print("%s 未查到設(shè)備sn" % current_time)
time.sleep(60)
python進(jìn)行SSH鏈接
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-759458.html
建立SSH連接核心程序
import paramiko
from paramiko.client import SSHClient
import time
import logging
import utils.LogUtils
# 設(shè)置日志日期格式
logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', level=logging.DEBUG)
# main主方法
def ssh_hi(client: SSHClient):
# 執(zhí)行命令
stdin, stdout, stderr = \
client.exec_command("grep -E 'RegSWVersion|onResponse' /root/logs/sys-debug.log |grep -v 1.1 | tail -n 1")
# 打印命令輸出
resp = stdout.read().decode()
logging.info(resp)
if "2.0.4" in resp:
logging.warning("當(dāng)前版本為2.0.4, 版本改為2.0.3")
elif "2.0.3" in resp:
logging.warning("當(dāng)前版本為2.0.3, 版本改為2.0.4")
else:
logging.warning("需要上位機(jī)刷新版本")
# 關(guān)閉連接
def closeSSH(client: SSHClient):
client.close()
# 建立連接
def buildSSH():
# 創(chuàng)建SSH客戶端
client = paramiko.SSHClient()
# 自動(dòng)添加主機(jī)名和密鑰到本地的known_hosts文件
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接SSH服務(wù)器
client.connect('ip', port=22, username='username', password='password')
return client
if __name__ == '__main__':
ssh = buildSSH()
while(True):
ssh_hi(ssh)
time.sleep(120)
# closeSSH(ssh)
日志打印附件
#!/usr/bin/env python
# encoding: utf-8
import logging
# now we patch Python code to add color support to logging.StreamHandler
def add_coloring_to_emit_windows(fn):
# add methods we need to the class
def _out_handle(self):
import ctypes
return ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)
out_handle = property(_out_handle)
def _set_color(self, code):
import ctypes
# Constants from the Windows API
self.STD_OUTPUT_HANDLE = -11
hdl = ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)
ctypes.windll.kernel32.SetConsoleTextAttribute(hdl, code)
setattr(logging.StreamHandler, '_set_color', _set_color)
def new(*args):
FOREGROUND_BLUE = 0x0001 # text color contains blue.
FOREGROUND_GREEN = 0x0002 # text color contains green.
FOREGROUND_RED = 0x0004 # text color contains red.
FOREGROUND_INTENSITY = 0x0008 # text color is intensified.
FOREGROUND_WHITE = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED
# winbase.h
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE = -11
STD_ERROR_HANDLE = -12
# wincon.h
FOREGROUND_BLACK = 0x0000
FOREGROUND_BLUE = 0x0001
FOREGROUND_GREEN = 0x0002
FOREGROUND_CYAN = 0x0003
FOREGROUND_RED = 0x0004
FOREGROUND_MAGENTA = 0x0005
FOREGROUND_YELLOW = 0x0006
FOREGROUND_GREY = 0x0007
FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified.
BACKGROUND_BLACK = 0x0000
BACKGROUND_BLUE = 0x0010
BACKGROUND_GREEN = 0x0020
BACKGROUND_CYAN = 0x0030
BACKGROUND_RED = 0x0040
BACKGROUND_MAGENTA = 0x0050
BACKGROUND_YELLOW = 0x0060
BACKGROUND_GREY = 0x0070
BACKGROUND_INTENSITY = 0x0080 # background color is intensified.
levelno = args[1].levelno
if (levelno >= 50):
color = BACKGROUND_YELLOW | FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_INTENSITY
elif (levelno >= 40):
color = FOREGROUND_RED | FOREGROUND_INTENSITY
elif (levelno >= 30):
color = FOREGROUND_YELLOW | FOREGROUND_INTENSITY
elif (levelno >= 20):
color = FOREGROUND_GREEN
elif (levelno >= 10):
color = FOREGROUND_MAGENTA
else:
color = FOREGROUND_WHITE
args[0]._set_color(color)
ret = fn(*args)
args[0]._set_color(FOREGROUND_WHITE)
# print "after"
return ret
return new
def add_coloring_to_emit_ansi(fn):
# add methods we need to the class
def new(*args):
levelno = args[1].levelno
if (levelno >= 50):
color = '\x1b[31m' # red
elif (levelno >= 40):
color = '\x1b[31m' # red
elif (levelno >= 30):
color = '\x1b[33m' # yellow
elif (levelno >= 20):
color = '\x1b[32m' # green
elif (levelno >= 10):
color = '\x1b[35m' # pink
else:
color = '\x1b[0m' # normal
try:
args[1].msg = color + args[1].msg + '\x1b[0m' # normal
except Exception as e:
pass
# print "after"
return fn(*args)
return new
import platform
if platform.system() == 'Windows':
# Windows does not support ANSI escapes and we are using API calls to set the console color
logging.StreamHandler.emit = add_coloring_to_emit_windows(logging.StreamHandler.emit)
else:
# all non-Windows platforms are supporting ANSI escapes so we use them
logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)
# log = logging.getLogger()
# log.addFilter(log_filter())
# //hdlr = logging.StreamHandler()
# //hdlr.setFormatter(formatter())
總結(jié)
1.使用Python發(fā)送Get請(qǐng)求,模擬http請(qǐng)求;
2.如何使用Python進(jìn)行SSH連接服務(wù)器;文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-759458.html
到了這里,關(guān)于Python環(huán)境——conda環(huán)境切換 & 在特定環(huán)境下安裝依賴的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!