脚本要实现的功能:输入instance id 1:将所有的volume take snapshot 2: 获取public ip 并登陆机器执行 ps 命令记录patch前进程状态已经端口状态 3:获取机器所在的elb 4: 从elb中移除当前机器 5:检查snapshots是否完成 6:snapshots完成后patching 7:……
标签目录:python
以下是与标签 “python” 相关联的文章Fabric python ssh 到目标主机执行命令
python 使用boto3 调用awscli 接口
如何通过Python脚本来检查网站的证书过期时间
近期发现有个别网站的证书到期后未及时更新导致的一系列问题,所以需要写个脚本监控一下 网站一搜发现都是需要你提前把证书弄下来的,有了证书,然后再去链接…..感觉有点麻烦(我就是懒)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#!/usr/bin/env python import urllib2 import httplib import ssl import socket import os CERT_FILE = os.path.join(os.path.dirname(__file__), 'cacert.pem') class ValidHTTPSConnection(httplib.HTTPConnection): "This class allows communication via SSL." default_port = httplib.HTTPS_PORT def __init__(self, *args, **kwargs): httplib.HTTPConnection.__init__(self, *args, **kwargs) def connect(self): "Connect to a host on a given (SSL) port." sock = socket.create_connection((self.host, self.port), self.timeout, self.source_address) if self._tunnel_host: self.sock = sock self._tunnel() self.sock = ssl.wrap_socket(sock, ca_certs=CERT_FILE, cert_reqs=ssl.CERT_REQUIRED) class ValidHTTPSHandler(urllib2.HTTPSHandler): def https_open(self, req): return self.do_open(ValidHTTPSConnection, req) opener = urllib2.build_opener(ValidHTTPSHandler) def test_access(url): print "Acessing", url page = opener.open(url) print page.info() data = page.read() print "First 100 bytes:", data[0:100] print "Done accesing", url print "" # This should work test_access("https://www.google.com") # Accessing a page with a self signed certificate should not work # At the time of writing, the following page uses a self signed certificate test_access("https://tidia.ita.br/") |
然后又找到一种不需要提前下载证书的: [crayon-6039e760af76d5……
leetcode 94 二叉树的中序遍历(Binary Tree Inorder Traversal)python
leetcode647回文子串(Palindromic Substrings) python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "b", "c". 示例 2: 输入: "aaa" 输出: 6 说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa". |
最简单的方法,当然是找到所有的字符串,然后反转,然后判断反转后的字符串是否和原字符串相同(回文子串定义),相同的,计数器+1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Solution(object): def countSubstrings(self, s): """ :type s: str :rtype: int """ count = 0 for i in range(len(s)): for j in range(i,len(s)): ca=s[i:j+1] ca_re=ca[::-1] if ca == ca_re: count = count +1 return count |
既然这道题出现在leetcode肯定就不会推荐我们使用上边的暴力解法,那么我们来换……
leetcode 338. 比特位计数Counting Bits python
1 2 3 4 5 6 7 8 9 10 |
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] |
此题的暴力解法很容易理解,首先我们要先知道如何将10进制转换为2进制 然后我们要知道使用count函数来统计里边的1的个数
1 2 3 4 5 6 7 8 9 10 |
class Solution(object): def countBits(self, num): """ :type num: int :rtype: List[int] """ res = [] for i in xrange(num + 1): res.append(bin(i).count('1')) return res |
leetCode617并二叉树(Merge Two Binary Trees) python
leetCode 无重复字符的最长子串 python(Longest Substring Without Repeating Characters) python
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 |
这个题目是一个中等难度的题目: 核心的点就是如何去查找不重复的字符串(字符串不一定从头开始的最长) 下边用一张图来解释 如上图所示,我们要计算长度,肯定要知道这个非重复字符串的开始位置和结束位置……