python stringºÍPyQtµÄQStringµÄÇø±ð
python stringºÍPyQtµÄQStringµÄÇø±ð ÒÔÏÂÔÚPython2.6ºÍPyQt4.4.4 for
Python2,6»·¾³ÏÂÌÖÂÛ£º PythonÖÐÓÐÁ½ÖÖÓйØ×Ö·ûµÄÀàÐÍ£ºPython string objectºÍPython Unicode
object¡£Ö÷ҪʹÓÃPython string object½øÐÐÊý¾ÝÊäÈëÊä³ö¡£ PyQtÖÐÓëÖ®Ïà¶ÔÓ¦µÄ×Ö·ûÓйØÀà
python stringºÍPyQtµÄQStringµÄÇø±ð
ÒÔÏÂÔÚPython2.6ºÍPyQt4.4.4 for Python2,6»·¾³ÏÂÌÖÂÛ£º
PythonÖÐÓÐÁ½ÖÖÓйØ×Ö·ûµÄÀàÐÍ£ºPython string objectºÍPython Unicode object¡£Ö÷ҪʹÓÃPython string object½øÐÐÊý¾ÝÊäÈëÊä³ö¡£
PyQtÖÐÓëÖ®Ïà¶ÔÓ¦µÄ×Ö·ûÓйØÀàÐÍÊÇ£ºQByteArrayºÍQString¡£Ö÷ҪʹÓÃQString²Ù×÷Êý¾Ý¡£
1. PythonºÍPyQtÖеÄÀàÐͶÔÓ¦
×¢ÒâÊÇÀàÐÍÏàËÆ£¬²»ÊÇÏàµÈ¡£
ÐèÒªÏÈÁ˽â±àÂ룺ascii¡¢gb2312¡¢big5£¬ÕâЩÊǸ÷¹ú×Ô¼ºÎÄ×Ö²»Í¬µÄ±àÂ룻unicode£¬¹ú¼ÊͨÓñàÂ룬¾ÍÊÇÇÕâ¸öÊÀ½çÉÏËùÓеÄÎÄ×Ö£¬¸ø
ÿ¸öÎÄ×Ö±àÒ»¸ö£¬ÓÖ·Öutf-8·½°¸--×ʹÓõÄ128¸öÓ¢ÎÄ×ÖĸÓÃÒ»¸ö×Ö½ÚÀ´±íʾ£¬¶øÖÐÎÄʹÓÃÈý¸ö×Ö½ÚÀ´±íʾ£¬utf-16·½°¸--ÆäÖÐÓ¢ÎĺÍÖÐÎͼ
ʹÓÃÁ½¸ö×Ö½ÚÀ´±íʾ£¬¶øÆäËü×Ö·û²ÉÓÃËĸö×Ö½Ú£¬utf-32·½°¸--ËùÓеÄÎÄ×Ö¶¼ÓÃËĸö×Ö½ÚÀ´±íʾ¡£
unicode¾Í¿ÉÓÃÀ´×÷Ϊ¸÷ÖÖ¶ÀÁ¢±àÂëÈçascii¡¢gb2312¡¢big5µÄת»»Öн顣
PythonÖÐgkb == gb2312¡£
1£©Python string object¿ÉÒÔÀí½âΪһ¸ö½ÓÒ»¸ö×Ö½Ú£¨byte£¬8룩µÄ×Ö½Ú×飬ÖÁÓÚ±íʾʲô±àÂ룬Óë±íʾÎÄ×ÖÓйأ¬È磺"python string"£¬"ÖÐÎÄ"¡£×¢ÒâËüÊÇÓв»Í¬±àÂëÇø·ÖµÄ£¡
PyQtÖÐÓëÖ®Ï൱µÄÊÇQByteArray£¬×¢Òâ²»ÊÇQString£¡
A built-in string object (plain or Unicode) is a sequence of characters
used to store and represent text-based information (plain strings are
also sometimes used to store and represent arbitrary sequences of
binary bytes). £¨Õª×Ô¡¶Python in a NutShell¡·£©
QByteArray can be used to store both raw bytes (including '"0's) and traditional 8-bit '"0'-terminated.£¨Õª×Ô¡¶PyQtÊֲᡷ£©
2£©Python Unicode object¿ÉÒÔÀí½âΪ¹Ì¶¨Ê¹ÓÃutf-16±àÂëµÄ×Ö½Ú×飬ÆäÖÐÓ¢ÎĺÍÖÐÎĶ¼Ê¹ÓÃÁ½¸ö×Ö½Ú£¨16룩À´±íʾ£¬È磺u"Python Unicode object"¡¢u"ÖÐÎÄ"¡£
PyQtÖÐÓëÖ®¶ÔÓ¦µÄ¾ÍÊÇQStringÁË¡£
Unicode string literals have the same syntax as other string literals,
with a u or U immediately before the leading quote. £¨Õª×Ô¡¶Python in a
NutSh
Ïà¹ØÎĵµ£º
¡¡¡¡ÓÐʱºò£¬Òª°ÑÄÚ´æÖеÄÒ»¸ö¶ÔÏó³Ö¾Ã»¯±£´æµ½´ÅÅÌÉÏ£¬»òÕßÐòÁл¯³É¶þ½øÖÆÁ÷ͨ¹ýÍøÂç·¢Ë͵½Ô¶³ÌÖ÷»úÉÏ¡£PythonÖÐÓкܶàÄ£¿éÌṩÁËÐòÁл¯Óë·´ÐòÁл¯µÄ¹¦ÄÜ£¬È磺marshal, pickle, cPickleµÈµÈ¡£½ñÌì¾Í½²½²marshalÄ£¿é¡£
¡¡¡¡×¢Ò⣺
marshal²¢²»ÊÇÒ»¸öͨÓõÄÄ£¿é£¬ÔÚijЩʱºòËüÊÇÒ»¸ö²»±»ÍƼöʹÓõÄÄ£¿é£¬ÒòΪʹÓÃmarshalÐ ......
Ô´´úÂëÏÂÔØ£ºÏÂÔØµØÖ·ÔÚÕâÀï
# 023
# Tuple(ÔªËØ×é)ÊDz»¿É±äµÄÁбí
tuple1 = (1, 2, 3)
print tuple1
tuple2 = (tuple1, 4, 5, 6) # Ò»¸öÔªËØ×é¿ÉÒÔ×÷ΪÁíÍâÒ»¸öÔªËØ×éµÄÔªËØ
print tuple2 # ²¢ÇÒÄܹ»ÔÚ´æ´¢µÄʱºò±£³ÖÔʼµÄÂß¼¹ØÏµ
for ele in tuple2:
print ele
print '\n'
for ele in tuple2[0]:
pr ......
Ô´´úÂëÏÂÔØ£ºÏÂÔØµØÖ·ÔÚÕâÀï
# 026
aList = ['1','2','3','4']
aListCopy = aList # Æäʵ£¬ÕâÀï½ö½ö¸´ÖÆÁËÒ»¸öÒýÓÃ
del aList[0]
print aList
print aListCopy # Á½¸öÒýÓÃÖ¸ÏòÁËÁËͬһ¸ö¶ÔÏó£¬ËùÒÔ´òÓ¡½á¹ûÒ»Ñù
aListCopy = aList[:] # ÕâÊǸ´ÖÆÕû¸ö¶ÔÏóµÄÓÐЧ·½·¨
del aList[0]
print aList
print aListCopy
......
Ô´´úÂëÏÂÔØ£ºÏÂÔØµØÖ·ÔÚÕâÀï
# 029
aFile = file(r'C:\in.txt', 'r')
while True:
line = aFile.readline()
if len(line) == 0:
break
# end of if
print line,
# end of while
aFile.close()
output£º
>>>
This is the first line.
This is the second line.
This is ......
Ô´´úÂëÏÂÔØ£ºÏÂÔØµØÖ·ÔÚÕâÀï
# 032
# ÆäʵcPickleÕâ¸öÄ£¿éÆðµ½µÄ×÷ÓÿÉÒÔÓÓÍêÃÀµØÐµ÷ÁËÎļþÖеÄÄÚÈÝ£¨¶ÔÏ󣩺ʹúÂëÖеÄÒýÓÔÀ´ÐÎÈÝ
import cPickle as p # ÕâÌõÓï¾ä¸øcPickleÆðÁ˸öСÃûp
objectFileName = r'C:\Data.txt'
aList = [1, 2, 3]
f = file(objectFileName, 'w')
p.dump(aList, f)
f.close ......