wiki:Pythonの短いソースコード集

Version 8 (modified by nakiki, 13 years ago) (diff)

--

動かし方

  • テキストをコピーして、適当なファイル名を作ります。
  • python test.pyのように実行して動きを見てみるだけ。

スレッドを作る

import threading
import time

def process():
  while True:
    print 'x1'
    time.sleep(3)

th = threading.Thread(None, process, None)
th.setDaemon(True)
th.start()

while True:
  print 'x0'
  time.sleep(3)

外部コマンドの実行

import os

result = os.system('ls -al')
print result

数値から文字へ

n = 1000
nstr = str(n)
msg = '%s' % nstr
print msg

文字から数値へ

nstr = '1000'
n = int(nstr)
n += 1
print n

ソケット.TCPクライアント

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

ソケット.TCPサーバ

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

RPCサーバ

import SimpleXMLRPCServer

class Test:
  def inc1(self, value):
    return value + 1

  def inc2(self, value):
    return value + 2

  def inc3(self, value):
    return value + 3

if __name__ == '__main__':
  server = SimpleXMLRPCServer.SimpleXMLRPCServer(('127.0.0.1', 12346))
  server.register_instance(Test())
  server.serve_forever()