Python �������Ф� (�ɾ�)

������ Python ��ȤäƤ��������Ǻ�ꤿ�᤿ ��ñ�ʥ��ޥ�ɤ�饤�֥���ޤȤ�Ƥ��ޤ� (�Ρ�ͽ��)��
Python ��Ϣʸ���ⶽ̣������Ф�������������

�ʤ��������Ǹ������Ƥ���ե�����/ʸ����ä��Ǥ꤬�������������٤� public domain (���� MIT/X �饤����) �Ȥ��ޤ��� ����ʹ��Ϥ����Υץ������ˤĤ��Ƥ����ʤ���Ǥ���餤�ޤ���


�桼�ƥ���ƥ�

clitrans.py
C#ɸ��饤�֥��Υ�ե���󥹥ޥ˥奢�� (XML����) ���顢��ñ�ʥƥ����ȷ����Υե�������������ޤ���
sortbydate.py
�ե������Ť��� (���뤤�Ͽ�������) �˥����Ȥ���ɽ�����ޤ���
vnc2flv
Another screen recorder.
Pyntch
Python�����ɥ��ʥ饤�����������򤪤��ʤ����������ǽ���Τ��륨�顼��ɽ�����ޤ���
tenjiwp.py
�����ؽ����ɻ��Ĥ��뤿��Υ�����ץȡ���Pygame�������ʤ�������
PDFMiner
��Python�ǽ񤫤줿 PDF�ѡ����ȥ��󥿥ץ꥿��PDF�β��Ϥȥƥ�������Фˡ� �ۤ� PDF-1.7������ܸ�Ľ񤭤ȰŹ沽���б���
homesync.py
Rsync�Υ�åѡ��ۡ���ǥ��쥯�ȥ�μ�ư�ߥ顼�ˡ�
des.py
SSLeay �� des.pl �� Python �˰ܿ�������Ρ�
Shaling
������ǽ�����礷���᡼�� (��ȯ��)�����٤Ƥκ�Ȥ򥳥ޥ�ɥ饤��ǡ�
Fooling
Python�Τߤǽ񤫤줿���ܸ��Ѥ�ʸ���󸡺��ե졼�����Ǥ���
flv2mp3.py
FLV (Flash Video) �ե����뤫�� MP3 �����ե��������Ф��ޤ���
jacus.py
��ñ�� Jabber ���饤����ȡ�jabber.py ��ɬ�פǤ���
PyVnc2swf
����Ͽ��ġ��롣VNC �Υ��å����� Macromedia Flash �������Ѵ����ޤ����� Pygame��
Webstemmer
Web�������� �� HTML�쥤������ʬ�ϥġ��롣
textcrawler.py (Webstemmer �����礵��ޤ���)
Web��������Υ�����ȥ�Gzip���̡�HTTP persistent��³��robots.txt�����å����򥵥ݡ��ȡ�
mp3cat.py
��ñ�� mp3 �ե졼�२�ǥ�����������»�����Ȥʤ� MP3 ���ڤ�Ž�ꤷ�ޤ���
unagi.py
P2P���Υ����ƥ��˥���
s.py
asyncore ���Ѥ�����ñ�ʥݡ��ȥե���ǥ��󥰡�asyncore �Υ���ץ�Ȥ��ơ����뤤�ϥץ��ȥ���β��Ϥˡ�
netmonitor.py
Linux �ѥͥåȥ����˥����ͥåȥ����ή�̤˱����ơ� ���̺���Υԥ������������������ޤ���Python 1.5.2 �ʾ塣Tkinter ���ѡ�
html2txt.py (Webstemmer �����礵��ޤ���)
HTML ����ƥ�����ʸ�Ϥ�Ȥ�����ޤ���JavaScript �䥹�����륷���ȤϽ����� Ʊ������ιԤϤ��٤�Ϣ�뤷�� 1�Ԥˤ��ޤ���Python 2.0 �ʾ塣
pycdb.py
cdb �� Python �Ǽ���������Ρ��ؽ��ѡ�
unimap.py
Unicode ������ɽ�� EUC ��������
pyfetchmail.py
���ꤵ�줿�ۥ��Ȥ��� pop3 �ǥ᡼�������ߡ��ۡ���ǥ��쥯�ȥ�� Maildir ���������ޤ����� qmail��
watcher.py
GNU Screen ��ȤäƤ���Ȥ��ˡ�Maildir �򸫤ƿ���᡼�뤬����в��̲������Τ��ޤ��� pyfetchmail.py �Ȥ��碌�ƻ��ѡ�
tateiscanna.py
$ ./tateiscanna.py LIST
��˥ȥ�
$ ./tateiscanna.py �ȥ�ȥ�����
SYSTEM
PyOne
Python �ѥ��饤�ʡ��ٱ祹����ץȡ�
pgrep.py
��������ɴ��������ʥѥ��������Ѳ�ǽ�� grep �Ǥ���
makegif.py
�ӥåȥޥåפ���Ʃ�� GIF ��������ޤ���Python Imaging Library ��ɬ�פǤ���
fuser.py
�ץ������������Ƥ���ե�����򤹤٤�ɽ�����ޤ��� Linux �ѡ�

�饤�֥��

iters.py
�褯�ȤäƤ��른���ͥ졼������Ϣ�δؿ���
romm.py
��̾ ���� �����޻��Ѵ��饤�֥�ꡣ���ἰ���إܥ󼰤�ɤ���⥵�ݡ��ȡ�
chnum.py
�������������ͤ��Ѵ�����ؿ���(��: �첯������ �� 150000000)
bidi.py
�������Υե����륪�֥������ȡ��ե�������������� readline �Ǥ��ޤ���
pdfparser.py
���ۤ� PDF �ѡ���������Ϥ��� PDF ����Ϥ�������Dz��⤷�ޤ��� (�����PDFMiner�����礵��ޤ���)
swfparser.py
Macromedia Flash ��������ƥ����Ȥ���С�
encdet.py
���������ɤμ�ưǧ���򤪤��ʤ����饤�֥��Ȥ������ϼ¸�������ץȡ�
abstfilter.py
��ݥե��륿���饹��UNIX �Υѥ���Ū�ʤ��Ȥ򥪥֥������ȴ֤Ǥ����ʤ�����δ�ñ�ʥե졼�����Ǥ��� (FIXME: �����ȻȤ����������Ĥ��뤳��)
pstring.py
��ʬ�νм���Ф��Ƥ���ʸ���󥯥饹�Ǥ�����ʸ�����ɤΥե�����β��Բ����ܤ����褿���� �������Ƥ��ꡢ����ʬ���ڤ��äƤ⸵�ΰ��֤��ݻ����ĤŤ��ޤ���
regpat.py
ʸ����ʳ��ΰ���Ū�ʥ������󥹤�����ɽ���Ǹ������ޤ��� �����ǤΥޥå��󥰤䡢�ޥå������ݤΥ����������³���ǽ񤱤ޤ��� ����Ū�ˤϵս縡���⥵�ݡ��Ȥ���ͽ��Ǥ���
texparser.py
LaTeX �Υѡ������饹��sgmllib ��Ʊ�����ФǻȤ���褦�ˤ��ޤ�����
lcs.py
Longest Common Subsequence �����ؿ��������� difflib �ߤ����ʤ�ĤǤ���
sexpr.py
S���ѡ������ե����뤫���ɤߤ���� S���� Python �Υꥹ�Ȥˤ����֤��ޤ���
reg.py
re �⥸�塼��Υ�åѡ��虜�虜����ɽ���򥳥�ѥ��뤹��ɬ�פϤ���ޤ���

����������

forall (�ؿ� pred ������ seq �Τ��٤Ƥ��Ф��ƿ��Ǥ��뤫?):

def forall(pred, seq):  # inefficient
  return reduce(lambda r,x: r and pred(x), seq, True)

exists (���� seq �Τ����ؿ� pred �������֤���Τ��ҤȤĤǤ⤢�뤫?):

def exists(pred, seq):  # inefficient
  return reduce(lambda r,x: r or pred(x), seq, False)

enumerate, zip ��Ȥä�ʣ����������б��Ť���:

�����������ߤ�¾��������������:

for (i,x) in enumerate(seq1):
  if condition(x):
    seq2[i] = x

������ɬ�פ��ʤ����:

for (x,y) in zip(seq1, seq2):  # itertools could speed it up
  if condition(x,y):
    ...

��ñ�ʽ���Τ��Ĥ���:

Ʊ�����ޤȤ��:

def equivalence(feqv, objs):
  eqs = []
  for x in objs:
    eq1 = [x]
    i = 0
    while i < len(eqs):
      if exists(lambda y:feqv(x,y), eqs[i]):
        eq1.extend(eqs[i])
        del(eqs[i])
      else:
        i += 1
    eqs.append(eq1)
  return eqs

print equivalence(lambda x,y:(x%5)==(y%5), [1,1,2,3,4,5,1,2,3,4,0])
# => [[1,1,1], [2,2], [3,3], [4,4], [0,5]]

���� (=���������) ��ž�֤�����:

zip ��Ȥ���(from ���������̼ԥ���)

>>> apply(zip, [[1,2], [3,4]])
[(1, 3), (2, 4)]

python -u ��Ʊ�ͤθ��̤�ư��˼¸�����

import sys, os
sys.stdin = os.fdopen(0, "rb", 0)
sys.stdout = os.fdopen(1, "wb", 0)
sys.stderr = os.fdopen(2, "wb", 0)

getopt �λȤ����ѥ�����

import sys

def main(argv):
  import getopt
  def usage():
    print 'usage: %s [-a] [-b] [-c arg] [-d arg] [file ...]' % argv[0]
    return 100
  try:
    opts, args = getopt.getopt(argv[1:], 'abc:d:')
  except getopt.GetoptError:
    return usage()
  (opta, optb, optc, optd) = (False, False, None, None)
  for (k, v) in opts:
    if k == '-a': opta = True
    elif k == '-b': optb = True
    elif k == '-c': optc = v
    elif k == '-d': optd = v
  doit(args)
  return 0

if __name__ == '__main__': sys.exit(main(sys.argv))

Last Modified: Sat Feb 27 07:52:38 UTC 2010

Yusuke Shinyama