Skip to content

Instantly share code, notes, and snippets.

View studiawan's full-sized avatar

Hudan Studiawan studiawan

View GitHub Profile
@studiawan
studiawan / ftp-retr.py
Created October 19, 2015 22:22
Using ftplib to download a file
from ftplib import FTP
f = FTP('localhost')
f.login('hudan')
fd = open('2003.pdf', 'wb')
f.retrbinary('RETR 2003.pdf', fd.write)
fd.close()
f.quit()
@studiawan
studiawan / ftp-pwd.py
Created October 19, 2015 22:21
Using ftplib to print current working directory
from ftplib import FTP
f = FTP('localhost')
print "Welcome:", f.getwelcome()
f.login('hudan')
print "Current working directory:", f.pwd()
names = f.nlst()
print 'List of directory: ', names
f.quit()
@studiawan
studiawan / server-udp2.py
Created October 19, 2015 22:18
UDP server that simulates random delay
import socket
import random
server_address = ('127.0.0.1', 5001)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.bind(server_address)
while True:
data, client_address = server_socket.recvfrom(1024)
@studiawan
studiawan / client-udp3.py
Created October 19, 2015 22:17
Simple UDP client with socket timeout
import socket
server_address = ('127.0.0.1', 5001)
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client_socket.connect(server_address)
message = 'Hi ...'
delay = 1
while True:
@studiawan
studiawan / write-with.py
Created September 22, 2014 00:28
Write to file using "with" statement
# write to file using with, no need to close file explicitly
with open('submission.html', 'w') as f:
f.write(data)
@studiawan
studiawan / read-with.py
Created September 22, 2014 00:27
Read file using "with" statement
# read file without close, with statement will close it for us :)
with open('submission.html', 'r') as f:
text = f.read()
@studiawan
studiawan / xmlrpc-multicall-client.py
Created December 30, 2013 05:02
XML RPC client for multifunctions server
# http://docs.python.org/2/library/xmlrpclib.html
import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
print proxy.add(7,3)
print proxy.subtract(7,3)
print proxy.multiply(7,3)
print proxy.divide(7.0,3.0)
@studiawan
studiawan / xmlrpc-multicall-server.py
Created December 30, 2013 05:01
XML RPC server that has many functions
# http://docs.python.org/2/library/xmlrpclib.html
from SimpleXMLRPCServer import SimpleXMLRPCServer
def add(x,y):
return x+y
def subtract(x, y):
return x-y
@studiawan
studiawan / xmlrpc-datetime-client.py
Created December 30, 2013 04:58
XML RPC client for datetime server
# http://docs.python.org/2/library/xmlrpclib.html
import xmlrpclib
import datetime
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
today = proxy.today()
# convert the ISO8601 string to a datetime object
converted = datetime.datetime.strptime(today.value, "%Y%m%dT%H:%M:%S")
@studiawan
studiawan / xmlrpc-datetime-server.py
Created December 30, 2013 04:57
XML RPC server that return date and time
# http://docs.python.org/2/library/xmlrpclib.html
import datetime
from SimpleXMLRPCServer import SimpleXMLRPCServer
import xmlrpclib
def today():
today = datetime.datetime.today()
return xmlrpclib.DateTime(today)