refer to cgi module.
cgi.parse_qs
cgi.parse_qsl
Why:
because urllib is used to make request, while cgi is used to receive request.
andelf fledna Feather
refer to cgi module.
cgi.parse_qs
cgi.parse_qsl
Why:
because urllib is used to make request, while cgi is used to receive request.
#!/usr/bin/env python # -*- coding: utf-8 -*- # FileName : uc_authcode.py # Author : Feather.et.ELF# Created : Fri Mar 25 00:11:57 2011 by Feather.et.ELF # Copyright : Feather Workshop (c) 2011 # Description : uc_authcode in python # Time-stamp: <2011-03-25 00:12:13 andelf> def uc_authcode(string, op='DECODE', key='', expiry=0): import time as t import base64 import hashlib md5 = lambda s: hashlib.md5(s).hexdigest() microtime = lambda : str(t.time()) time = lambda : int(t.time()) ckey_length = 4 key = md5(key) # or use key = md5(key or UC_KEY) keya = md5(key[:16]) keyb = md5(key[16:]) if op == 'DECODE': keyc = string[:ckey_length] else: keyc = md5(microtime())[-ckey_length:] cryptkey = keya + md5(keya + keyc) key_length = len(cryptkey) if op == 'DECODE': string = base64.b64decode(string[ckey_length:]) else: string = ('%010d' % (expiry + time() if expiry else 0)) + \ md5(string + keyb)[:16] + string string_length = len(string) result = '' box = range(256) rndkey = [ord(cryptkey[i % key_length]) for i in xrange(256)] j = 0 for i in xrange(256): j = (j + box[i] + rndkey[i]) % 256 box[i], box[j] = box[j], box[i] a = j = 0 for i in xrange(string_length): a = (a + 1) % 256 j = (j + box[a]) % 256 box[a], box[j] = box[j], box[a] result += chr(ord(string[i]) ^ (box[(box[a] + box[j]) % 256])) if op == 'DECODE': try: # use assert to catch misc case assert (int(result[:10])== 0) or (int(result[:10]) - time()> 0) if result[10:26] == md5(result[26:] + keyb)[:16]: return result[26:] else: return '' except: return '' else: return keyc + base64.b64encode(result).replace('=', '') def test(): APP_KEY = 'x2ta5X12oTz75gbRTMB6gY6thZ7D83' text = 'this_is_the_string_to_be_encrypted' print 'text=', text e = uc_authcode(text, "ENCODE", APP_KEY) print 'e=', e e += '='*(len(e) % 4) # must fix padding assert uc_authcode(e, "DECODE", APP_KEY) == text print 'rslt=', uc_authcode(e, "DECODE", APP_KEY) if __name__ == '__main__': test()
Log message for revision 92364: Removed the ZODB.lock_file module. Now depend on zc.lockfile instead.
源代码中把所有的 ZODB.lock_file 改成 zc.lockfile 即可。
然后执行
G:\Plone>.\python\python.exe .\temp\DirectoryStorage_1_1_19\mkds.py .\var\direct orystorage Full bushy
然后Add ZODB Mount Point 即可。。。
1:Mysql 命令不可以执行
原因 :呵呵 比如 show databases 的命令 ,执行完之后 啥也没有 ,仔细 找了原因 ,Oh my god 少了 分号。
应写成:show databases;
2:命令行中文乱码问题
现象:mysql的默认编码设置为utf-8,页面以utf-8的编码方式写入到数据库。用工具查看一切正常,但从mysql的命令行读数据出来总是乱码。
原因:mysql的客户端根本无法以utf-8的形式返回数据,解决如下:
set names gb2312;
15 Right ? : LogicalOrExp AssignExp AssignExp
ConditionalExpression
16 Right = LeftHandSideExp AssignExp
AssignmentExpression
Right *= LeftHandSideExp AssignExp
AssignmentWithMultiplication
Right /= LeftHandSideExp AssignExp AssignmentWithDivision
Right %= LeftHandSideExp AssignExp AssignmentWithRemainder
Right += LeftHandSideExp AssignExp AssignmentWithAddition
Right -= LeftHandSideExp AssignExp
AssignmentWithSubtraction
Right <<= LeftHandSideExp AssignExp
AssignmentWithBitwiseLeftShift
Right >>= LeftHandSideExp AssignExp
AssignmentWithSignedRightShift
Right >>>= LeftHandSideExp AssignExp
AssignmentWithUnsignedRightShift
Right &= LeftHandSideExp AssignExp AssignmentWithBitwiseAnd
Right ^= LeftHandSideExp AssignExp AssignmentWithBitwiseOr
Right |= LeftHandSideExp AssignExp AssignmentWithLogicalNot
17 Left , Expression AssignExp SequentialEvaluation
--
__ _
/ ) / // /)
/--/ ____ __/ _ // //
/ (_/ / <_(_/_</_</_//_
/>
</
from Tkinter import *
root = Tk()
# fonts for all widgets
root.option_add("*Font", "courier")
# font to use for label widgets
root.option_add("*Label.Font", "helvetica 20 bold")
# make all widgets light blue
root.option_add("*Background", "light blue")
# use gold/black for selections
root.option_add("*selectBackground", "gold")
root.option_add("*selectForeground", "black")
--
__ _
/ ) / // /)
/--/ ____ __/ _ // //
/ (_/ / <_(_/_</_</_//_
/>
</