import smtplib
server = smtplib.SMTP('localhost')
fromaddr = 'xxx@xxx.xxx.xxx'
toaddr = 'yyy@yyy.yyy.yyy'
# msg = 'test message'
msg = MIMEText(test.encode(chset),'plain',charset)
server.sendmail(fromaddr, toaddr, msg)
server.quit()
#!/bin/env python
# -*- coding: utf-8 -*-
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate
def send(from_addr, to_addr, msg):
# SMTPの引数を省略した場合はlocalhost:25
s = smtplib.SMTP('localhost')
s.sendmail(from_addr, [to_addr], msg.as_string())
s.close()
def create_message2(from_addr, to_addr, subject, body, encoding):
# 'text/plain; charset="encoding"'というMIME文書を作ります
msg = MIMEText(body, 'plain', encoding)
msg['Subject'] = Header(subject, encoding)
msg['From'] = from_addr
msg['To'] = to_addr
msg['Date'] = formatdate()
return msg
if __name__ == '__main__':
from_addr = 'spam@example.com'
to_addr = 'egg@example.com'
msg = create_message2(from_addr, to_addr, u'テスト', u'本文', 'ISO-2022-JP')
send(from_addr, to_addr, msg)
import getpass, poplib
M = poplib.POP3('localhost')
M.user(getpass.getuser())
M.pass_(getpass.getpass())
numMessages = len(M.list()[1])
for i in range(numMessages):
for j in M.retr(i+1)[1]:
print j
import getpass, imaplib
M = imaplib.IMAP4('localhost')
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
print 'Message %s\n%s\n' % (num, data[0][1])
M.close()
M.logout()
import BaseHTTPServer
import SimpleHTTPServer
addr = ('127.0.0.1', 8000)
Server = BaseHTTPServer.HTTPServer
handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = Server(addr, handler)
httpd.serve_forever()
import httplib
h = httplib.HTTPConnection('www.yahoo.com')
h.request('GET', '/index.html')
r = h.getresponse()
if r.status == httplib.OK:
data = r.read()
print data
print 'Status=', r.status
import CGIHTTPServer
import BaseHTTPServer
import SimpleHTTPServer
def serveForever(addr, HandlerClass = CGIHTTPServer.CGIHTTPRequestHandler,
ServerClass = BaseHTTPServer.HTTPServer):
HandlerClass.protocol_version = 'HTTP/1.0'
httpd = ServerClass(addr, HandlerClass)
sa = httpd.socket.getsockname()
print "Serving HTTP on %s:%d" % (sa[0], sa[1])
httpd.serve_forever()
if __name__ == '__main__':
serveForever(('127.0.0.1', 8000))
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('127.0.0.1', 12345))
sock.listen(1)
try:
while True:
(conn, sa) = sock.accept()
msg = conn.recv(8192)
print msg
conn.close()
except socket.error, e:
print 'Error: %s' % e
import SocketServer
class Handler(SocketServer.StreamRequestHandler):
def handle(self):
while True:
line = self.rfile.readline()
if len(line) == 0:
return
self.wfile.write(line)
server = SocketServer.TCPServer(('127.0.0.1', 12345), Handler)
print 'listening:', server.socket.getsockname()
server.serve_forever()
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)
try:
r = sock.connect(('127.0.0.1', 12345))
sock.send('test message')
except socket.error, e:
print 'Error: %s' % e
Just this:
import socket
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((IP,PORT))
To send:
sock.sendto(message,(IP,PORT))
To receive:
sock.recvfrom(1024)
The 1024 displays the buffer size. There are not other changes necessary as far as
the socket part
import dns.name
import dns.message
import dns.query
### pip install dnspython ( python2 )
### $ pip install dnspython3 ( python3 )
domain = 'www.yahoo.com'
nameserver = 'set your dns-server ip address'
domain = dns.name.from_text(domain)
if not domain.is_absolute():
domain = domain.concatenate(dns.name.root)
request = dns.message.make_query(domain, dns.rdatatype.ANY)
response = dns.query.udp(request,nameserver)
print response.answer
#!/usr/bin/env python
# coding: utf-8
import os
__all__ = [
'disk_free', 'get_avail_size', 'get_total_size', 'get_used_size']
def disk_free(path):
u"""
path の総容量、使用量、(現ユーザーの)使用可能容量を返す
"""
s = os.statvfs(path)
avail = s.f_bsize * s.f_bavail
total = s.f_bsize * s.f_blocks
free = s.f_bsize * s.f_bfree
used = total - free
return total, used, avail
def get_total_size(path):
return disk_free(path)[0]
def get_used_size(path):
return disk_free(path)[1]
def get_avail_size(path):
return disk_free(path)[2]
def memory_free():
"""
Get node total memory and memory usage
"""
with open('/proc/meminfo', 'r') as mem:
ret = {}
tmp = 0
for i in mem:
sline = i.split()
if str(sline[0]) == 'MemTotal:':
ret['total'] = int(sline[1])
elif str(sline[0]) in ('MemFree:', 'Buffers:', 'Cached:'):
tmp += int(sline[1])
ret['free'] = tmp
ret['used'] = int(ret['total']) - int(ret['free'])
return ret
def proc_mounts():
"""
Get /proc/mounts
"""
with open('/proc/mounts', 'r') as mnt:
ret = {}
tmp = 0
for i in mnt:
sline = i.split()
if 'dev' in str(sline[0]) :
if sline[1] == '/':
if sline[1] == '/home':
if sline[1] == '/usr':
if sline[1] == '/var':
else:
print sline[1]
return ret
def _test():
# print disk_free(r'.')
# print memory_free()
print proc_mounts()
if __name__ == '__main__':
_test()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:Atsushi Sakai
# license: MIT
def Print(string, color, highlight=False):
u"""
Colored print
colorlist:
red,green,yellow,blue,magenta,cyan,white,crimson
"""
end="\033[1;m"
pstr=""
if color == "red":
if highlight:
pstr+='\033[1;41m'
else:
pstr+='\033[1;31m'
elif color == "green":
if highlight:
pstr+='\033[1;42m'
else:
pstr+='\033[1;32m'
elif color == "yellow":
if highlight:
pstr+='\033[1;43m'
else:
pstr+='\033[1;33m'
elif color == "blue":
if highlight:
pstr+='\033[1;44m'
else:
pstr+='\033[1;34m'
elif color == "magenta":
if highlight:
pstr+='\033[1;45m'
else:
pstr+='\033[1;35m'
elif color == "cyan":
if highlight:
pstr+='\033[1;46m'
else:
pstr+='\033[1;36m'
elif color == "white":
if highlight:
pstr+='\033[1;47m'
else:
pstr+='\033[1;37m'
elif color == "crimson":
if highlight:
pstr+='\033[1;48m'
else:
pstr+='\033[1;38m'
else:
print("Error Unsupported color:"+color)
print(pstr+string+end)
if __name__ == '__main__':
Print("Red","red")
Print("Green","green")
Print("Yellow","yellow")
Print("Blue","blue")
Print("Magenta","magenta")
Print("Cyan","cyan")
Print("White","white")
Print("Crimson","crimson")
Print("Highlited Red","red",highlight=True)
Print("Highlited Green","green",highlight=True)
Print("Highlited Yellow","yellow",highlight=True)
Print("Highlited blue","blue",highlight=True)
Print("Highlited Magenta","magenta",highlight=True)
Print("Highlited Cyan","cyan",highlight=True)
Print("Highlited Crimson","crimson",highlight=True)
https://docs.python.jp/3/library/pwd.html