一、首先安裝yagmail軟件。
pip install yagmail
二、yagmail使用方法:
三步實現發送郵件python
import yagmail # 1.實例化出來一個yagmail對象 yag = yagmail.SMTP(user='1362394088@qq.com', password='roaspxrdhkdefjbf', host='smtp.qq.com') # 2.發送郵件操做 yag.send(to='1362394088@qq.com',subject=a, contents=b) # 3.關閉郵箱 yag.close()
1、ConfigParser簡介
ConfigParser 是用來讀取配置文件的包。配置文件的格式以下:中括號「[ ]」內包含的爲section。section 下面爲相似於key-value 的配置內容。linux
import configparser config = configparser.ConfigParser() config.read('a.txt',encoding='utf-8') 列出全部標題 data = config.sections() print(data) 利用section寫入key=value,修改某個option的值,若是不存在則會出建立 config.set('base','name','http://www.baidu.com') config.write(open('a.txt','w')) 列出全部的key data = config.options('base') print(data) 利用seciton和option取value data = config.get('base','enabled') print(data) 利用section取出全部的鍵值對 data = config.items('base') print(data) 判斷文件中是否有section res = config.has_section('base1') print(res) 判斷section下是否有指定的option res = config.has_option('base','baseurl') print(res) 刪除option config.remove_option('base','name') config.write(open('a.txt','w')) 刪除secion(會把下面的key value所有刪除) config.remove_section('centos7') config.write(open('a.txt','w'))
pip install paramiko 一、ssh鏈接linux主機 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='192.168.254.10',port=22,username='root',password='root') while True: cmd = input('#').strip() if cmd: stdin, stdout, stderr = ssh.exec_command(cmd) print(stdout.read().decode('utf-8')) 二、上傳,下載 import paramiko t=paramiko.Transport(('192.168.254.10',22)) t.connect(username='root',password='root') sftp = paramiko.SFTPClient.from_transport(t) sftp.put(r'C:\Users\Administrator.USER-20190512NQ\Desktop\python3 模塊.txt', '/root/python3模塊.txt') sftp.get('/root/a.txt',r'C:\Users\Administrator.USER-20190512NQ\Desktop\a.txt') sftp.close()
import os 一、獲取當前路徑 res = os.getcwd() print(res) 二、chdir改變所在目錄 os.getcwd() os.chdir('app01') res = os.getcwd() print(res) 三、mkdirs遞歸建立目錄,mkdir -p os.makedirs('a/b/c') 四、mkdir 新建目錄,只能建一層 os.mkdir('a') 五、rmdir刪除目錄 os.rmdir('a') 六、listdir以列表形式查看目錄全部文件(包括隱藏文件) res = os.listdir('app01') print(res) 七、remove 刪除指定的一個文件 os.remove('a.txt') 八、rename重命名 os.rename("a.txt","aaa.txt") 九、查看文件的詳細信息 print(os.stat("aaa.txt")) 十、文件或目錄是否存在 res = os.path.exists('static') print(res) 十一、isdir判斷是不是一個目錄 res = os.path.isdir('aaa.txt') print(res) 十二、isfile判斷是不是一個文件 res = os.path.isfile('static') print(res) 1三、paht.join,拼接路徑 BASE_DIR = r'C:\Users\Administrator.USER-20190512NQ\Desktop\test_django\app01' file_name = '250.txt' res = os.path.join(BASE_DIR,file_name) print(res) 1四、echo $?查看上一個命令是否執行成功,若是成功返回0,若是不成功返回非0 res = os.system('asdasd') print(res)
一、linux服務器(半雙工)shell
import socket import subprocess import threading server = socket.socket() server.bind(('', 8888)) server.listen(5) print('等待電話.....') conn, addr = server.accept() print('電話來了......') while True: data = conn.recv(10240) cmd = subprocess.Popen(data.decode('utf-8'), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout = cmd.stdout.read() stderr = cmd.stdout.read() conn.send(stdout + stderr) 客戶端 import socket import threading client = socket.socket() client.connect(('192.168.254.24', 8888)) while True: info = input('===>:') if not info:continue client.send(info.encode('utf-8')) data = client.recv(10240) print(data.decode('utf-8'))
二、全雙工電話django
#服務器端 import socket import subprocess import threading server = socket.socket() server.bind(('', 8888)) server.listen(5) print('等待電話.....') conn, addr = server.accept() print('電話來了......') def recv(): while True: data = conn.recv(10240) print(data.decode('utf-8')) def send(): while True: data = input('===>:') conn.send(data.encode('utf-8')) t1 = threading.Thread(target=recv) t2 = threading.Thread(target=send) t1.start() t2.start() #客戶端 import socket import threading client = socket.socket() client.connect(('localhost', 8888)) def send(): while True: info = input('===>:') client.send(info.encode('utf-8')) def recv(): while True: data = client.recv(1024) print(data.decode('utf-8')) t1 = threading.Thread(target=send) t2 = threading.Thread(target=recv) t1.start() t2.start()
三、監測端口centos
import socket socket.setdefaulttimeout(1) host_list =['192.168.4.145:5555','192.168.4.146:555','192.168.4.147:5555','192.168. 31.199:445'] for info in host_list: server = socket.socket() ip = re.compile('(.*?):(.*)').search(info).group(1) port = re.compile('(.*?):(.*)').search(info).group(2) res = server.connect_ex((ip, int(port))) if res == 0: print('%s--%s端口正常' % (ip, port)) else: print('%s--%s端口異常' % (ip, port))