锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 5.鏇村 4.鍦ㄨ繖閲岋紝鍒楄褰撲綔灞炴ф潵璁塊棶銆備笂榪頒唬鐮佺殑鈥滆儗鍚庘濆張鍙戠敓浜嗕粈涔堝憿錛熶綘鍙互鍦ㄨ繛鎺ユ爣璇嗙涓坊鍔?debug=t錛岃繖鏍鳳紝鍦ㄦ帶鍒跺彴涓皢鎵撳嵃鍑轟笅闈㈢被浼肩粨鏋滐細
SQLObject is a popular Object Relational Manager for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes.
I think the explanation is simple and enough, so let's start!
涓.瀹氫箟綾?br />1.榪炴帴鏍囪瘑絎?
scheme://[user[:password]@]host[:port]/database[?parameters]
鍏朵腑scheme鏄痵qlite, mysql, postgres, firebird, interbase, maxdb, sapdb, mssql, sybase鍏朵腑涔嬩竴錛?br />紺轟緥錛?br />mysql://user:passwd@host/database
mysql://host/database?debug=1
postgres://user@host/database?debug=&cache=
postgres://host:5432/database
sqlite:///full/path/to/database
sqlite:/C|/full/path/to/database
sqlite:/:memory:
鍙夌殑鍙傛暟錛?br />debug (榛樿鍊間負False), debugOutput (榛樿鍊間負False), cache (榛樿鍊間負True), autoCommit (榛樿鍊間負True), debugThreading (榛樿鍊間負False).
濡傛灉浣犳兂浼犻掍竴涓猅rue鍊煎埌涓涓繛鎺ユ爣璇嗙涓紝閭d箞鍙渶浼犻掍竴涓潪絀哄瓧絎︿覆灝卞彲浠ヤ簡錛涚┖瀛楃涓插垯琛ㄧずFalse鍊箋?br />2.寤虹珛涓涓繛鎺?/p>
db_filename聽
=
聽os.path.abspath(
'
data.db
'
)
2
if
聽os.path.exists(db_filename):
3
聽聽聽聽os.unlink(db_filename)
4
connection_string聽
=
聽
'
sqlite:
'
聽
+
聽db_filename
5
connection聽
=
聽connectionForURI(connection_string)
6
sqlhub.processConnection聽
=
聽connection
class聽Person(SQLObject):
2聽聽聽聽firstName聽=聽StringCol()
3聽聽聽聽middleInitial聽=聽StringCol(length=1,聽default=None)
4聽聽聽聽lastName聽=聽StringCol()
CREATE聽TABLE聽person聽(
聽聽聽聽id聽INT聽PRIMARY聽KEY聽AUTO_INCREMENT,
聽聽聽聽first_name聽TEXT,
聽聽聽聽middle_initial聽CHAR(1),
聽聽聽聽last_name聽TEXT
);
寰堢畝鍗曪紝灝變竴鍙ワ細Person.createTable()
紺轟緥涓璮irstName鍒椾負StringCol綾誨瀷錛屽綋鐒朵綘涔熷彲浠ユ崲鎴愬叾瀹冪被鍨嬨傚叿浣撳彲鍙傜収錛?br />http://www.sqlobject.org/SQLObject.html#column-types
浣犳垨璁稿凡緇忔敞鎰忓埌浜嗗湪綾諱腑騫舵病鏈夊畾涔塱d鍒楋紝瀹冩槸闅愬紡鐨勩傚湪MySQL涓紝瀹冭瀹氫箟鎴怚NT PRIMARY KEY AUTO_INCREMENT錛屽湪Postgres涓槸SERIAL PRIMARY KEY錛岃屽湪SQLite涓垯鏄疘NTEGER PRIMARY KEY銆備綘蹇呴』鎶婅繖浜涘煎綋浣滄槸涓嶅彲鍙樼殑銆傚綋鐒訛紝浣犱篃鍙互瑕嗙洊鈥渋d鈥濊繖涓悕瀛椼?br />
浜?浣跨敤榪欎釜綾?br />1.鏈変簡綾伙紝涓嬮潰浣犻渶瑕佸仛鐨勫氨鏄垱寤轟竴涓柊鐨勫璞★紙鍗蟲柊鐨勪竴琛岋級錛岀被瀹炰緥鍖栧涓嬶細>>>聽Person(firstName="John",聽lastName="Doe")
<Person聽1聽firstName='John'聽middleInitial=None聽lastName='Doe'>
>>>聽Person.get(1)
<Person聽1聽firstName='John'聽middleInitial=None聽lastName='Doe'>
>>>聽p聽=聽Person.get(1)
>>>聽p
<Person聽1聽firstName='John'聽middleInitial=None聽lastName='Doe'>
>>>聽p.firstName
'John'
>>>聽p.middleInitial聽=聽'Q'
>>>聽p.middleInitial
'Q'
>>>聽p2聽=聽Person.get(1)
>>>聽p2
<Person聽1聽firstName='John'聽middleInitial='Q'聽lastName='Doe'>
>>>聽p聽is聽p2
True
>>>聽#聽This聽will聽make聽SQLObject聽print聽out聽the聽SQL聽it聽executes:
>>>聽Person._connection.debug聽=聽True
>>>聽p聽=聽Person(firstName='Bob',聽lastName='Hope')
聽1/QueryIns:聽聽INSERT聽INTO聽person聽(last_name,聽middle_initial,聽first_name)聽VALUES聽('Hope',聽
NULL,聽'Bob')
聽1/COMMIT聽聽:聽聽auto
聽1/QueryOne:聽聽SELECT聽first_name,聽middle_initial,聽last_name聽FROM聽person聽WHERE聽id聽=聽2
聽1/COMMIT聽聽:聽聽auto
>>>聽p
<Person聽2聽firstName='Bob'聽middleInitial=None聽lastName='Hope'>
>>>聽p.middleInitial聽=聽'Q'
聽1/Query聽聽聽:聽聽UPDATE聽person聽SET聽middle_initial聽=聽'Q'聽WHERE聽id聽=聽2
聽1/COMMIT聽聽:聽聽auto
>>>聽p2聽=聽Person.get(1)
>>>聽#聽Note:聽no聽database聽access,聽since聽we're聽just聽grabbing聽the聽same
>>>聽#聽instance聽we聽already聽had.
p.set(firstName='Robert',聽lastName='Hope聽Jr.')
錛堟湭瀹屽緟緇級
鍙傝冭祫鏂欙細http://www.sqlobject.org/SQLObject.html
]]>
鎶鏈笂錛屾病鏈夊お澶氱殑鏂版剰錛屽嚑涔庡氨鏄?strong>ftplib鐨勫熀紜搴旂敤銆傚湪寮鍙戞柟寮忎笂錛岄氳繃鍐?#8220;姝?#8221;鐨勬祴璇旸emo錛屾娊鍙栧嚭“媧?#8221;鐨勯儴鍒嗐傛暣涓凱浠h繃紼嬶紝姣旇緝鑷劧銆傛濊礬浼氶殢鐫鍐欑殑榪囩▼錛岄愭笎娓呮櫚銆備竴浜涘湪璁捐涔嬪垵娌¤冭檻鍒扮殑緇嗚妭閮ㄥ垎錛屼篃浼氫腑閫旈愭笎鏄劇幇銆?br> 涓昏鍔熻兘鏈変笁涓俵ist錛屾樉紺篺tp绔欑偣鏌愮洰褰曠殑鍐呭錛沝ownload錛屼笅杞芥枃浠跺埌鎸囧畾鐩綍涓嬶紱upload錛屼笂浼犳枃浠跺埌鎸囧畾鐩綍涓嬨?br> 榪樻槸鐪嬩唬鐮侊紝姣旇緝綆鍗曘備竴瀹氱▼搴︿笂錛岃冭檻鍒頒簡紼嬪簭鐨勫彲鎵╁睍鎬с?br>conf/config.xml:
modules/parseConf.py:
modules/handleFTP.py:
ftp.py :
鍛戒護琛屼笅榪愯錛?br> 1. list
python ftp.py list ftp鐩綍鍚?br> eg. python ftp.py list music
2. upload
python ftp.py upload 涓婁紶鎵瑕佷繚瀛樼殑ftp鐩綍鏂囦歡鍚?nbsp;寰呬笂浼犵殑鏈湴鏂囦歡
eg. python ftp.py upload music\remote.xml c:\local.xml
3. download
python ftp.py download 寰呬笅杞界殑榪滅▼鏂囦歡 涓嬭澆鎵瑕佷繚瀛樼殑鏈湴鐩綍鏂囦歡鍚?br> eg. python ftp.py download music\remote.xml c:\local.xml
鎴戜釜浜烘槸灝嗗疄鐜皍pload鍔熻兘鐨勫懡浠わ紝淇濆瓨鎴愪竴涓壒澶勭悊鏂囦歡銆傞渶瑕佺殑鏃跺欙紝榪愯涓嬪氨OK浜嗐?br>upload.bat:
鍔熻兘姣旇緝鍗曚竴錛岃繕鏈夎澶氭瑺鑰冭檻鐨勫湴鏂廣備緥濡傚涓婁紶鏂囦歡綾誨瀷鐨勫垽鏂紝瀵逛笂浼犮佷笅杞芥枃浠舵墍鍦ㄧ洰褰曞瓨鍦ㄤ笌鍚︾殑鍒ゆ柇錛岀瓑絳夈?br> 灝忕殑涓滆タ錛屽鏋滄繁絀訛紝涔熻洰鏈夋剰鎬濄?br>
ps: 紼嬪簭鐩綍鍙?strong>copyleft閮ㄥ垎鍊熼壌浜?strong>limodou鐨?strong>Ulipad錛屽湪姝よ〃鎰熻阿銆?nbsp;