主要記錄初學者常用的一些代碼:

          1.獲取當前時間
          # -*- coding: gbk -*-
          import os
          import time
          import shutil

          today = time.strftime('%Y-%m-%d 星期%w')
          now = time.strftime('%H:%M:%S')
          >>>
          2008-05-07 星期3
          20:28:14

          2.os.path常見屬性
          os.path.sep :路徑分隔符 。以前老愛用'\\'? ,后來用'/'。
          os.path.altsep:(根目錄,不是很確定,我用來做根目錄。反正在windows表現是'/')
          os.path.curdir: 當前目錄
          os.path.pardir: 父目錄

          3.判斷是否是指定文件類型
          File.rsplit('.',1)[-1] == type
          當然也可以寫成File.split('.')[-1:][0] == type




          posted on 2008-05-07 20:44 -274°C 閱讀(15407) 評論(15)  編輯  收藏 所屬分類: python


          FeedBack:
          # re: python代碼總結
          2008-05-07 21:20 | -274°C
          4.中文字符

          >>> aa = "a是中國人"
          >>> print aa
          a是中國人
          >>> print aa[1]
          Ê
          >>> print aa[1:3]

          >>> c = unicode(aa,"gb2312")
          >>> print c[1]

          >>> print len(c)
          5
          >>> print len(aa)
          9  回復  更多評論
            
          # re: python代碼總結
          2008-05-07 21:30 | -274°C
          5.python中對字符串排序:
          >>> s = "string"
          >>> l = list(s)
          >>> l.sort()
          >>> s = "".join(l)
          >>> s
          'ginrst'
            回復  更多評論
            
          # re: python代碼總結
          2008-05-07 22:45 | -274°C
          6.BASE64對字符串編碼和解碼

          a= "this is a teat"
          b = base64.encodestring(a)
          print b
          >>>
          dGhpcyBpcyBhIHRlYXQ=
          print base64.decodestring(b)
          >>>this is a teat

            回復  更多評論
            
          # re: python代碼總結
          2008-05-10 19:56 | java_he
          7.獲取當前路徑
          os.getcwd()
          改變當前路徑
          os.chdir(r"c:/")  回復  更多評論
            
          # re: python代碼總結
          2008-05-10 22:53 | java_he
          8.修改文件名稱
          os.rename("bbb.txt","ccc.txt")
          如果ccc.txt已經存在,則有異常拋出

            回復  更多評論
            
          # re: python代碼總結
          2008-05-10 22:56 | java_he
          8.文件夾改名
          os.rename("aaa","ccc")
          如果ccc已經存在,則有異常拋出   回復  更多評論
            
          # re: python代碼總結
          2008-05-19 15:23 | java_he

          1.打印出xml文件的內容

          from xml.dom import minidom
          xmldoc = minidom.parse('binary.xml')
          print xmldoc
          print xmldoc.toxml()

          2.判斷字符串以什么結尾和開頭

          string2.upper().startswith("EVEN")
          string2.upper().endswith("EVEN")

          3.比較時候以大,小寫來比較,字符串本身并未發生改變
          >>> print string2
          Odd or even
          >>> print string2.lower()
          odd or even
          >>> print string2.upper()
          ODD OR EVEN
          >>> print string2
          Odd or even
          >>>

          4.從url解析xml

          >>> import urllib
          >>> usock = urllib.urlopen('http://www.aygfsteel.com/JAVA-HE/category/19871.html/rss')
          >>> xmldoc = minidom.parse(usock)
          >>> usock.close()
          >>> print xmldoc.toxml()

          5.把string解析為xml

          >>> from xml.dom import minidom
          >>> contents = "<grammar><ref id='bit'><p>0</p><p>1</p></ref></grammar>"
          >>> xmldoc = minidom.parseString(contents)
          >>> print xmldoc.toxml()
          <?xml version="1.0" ?><grammar><ref id="bit"><p>0</p><p>1</p></ref></grammar>

          以前做AJAX 用到xml,python 使用在這方面是非常簡單的。至少對使用者來講屏蔽了許多繁瑣的代碼。

          6.python 2.5 后 ,集合

          >>> b = set()
          >>> b.add(1)
          >>> b.add(2)
          >>> b.add(3)
          >>> c = set()
          >>> c.add(3)
          >>> c.add(4)
          >>> c.add(5)
          >>> d = b.difference(c)
          >>> print d
          set([1, 2])
          >>> print c.difference(b)
          set([4, 5])
          >>> print c.union(b)
          set([1, 2, 3, 4, 5])
          >>> print b.union(c)
          set([1, 2, 3, 4, 5])
          >>> print b.intersection(c)
          set([3])

          difference求不同 union求并集 infference 交集

          7.操作系統版本
          >>> import os
          >>> print os.name
          nt
          >>> import sys
          >>> print sys.platform
          win32
          >>> print sys.getwindowsversion()
          (5, 1, 2600, 2, 'Service Pack 2')
          >>>

          8.正則表達式獲取文件列表

          import glob
          # 生成當前路徑下所有文件的列表
          a = glob.glob('*')
          print a
          # 生成當前路徑下所有擴展名為gif的文件列表。
          a = glob.glob('*.gif')

          9.python 2.4 后,參數可以函數的實例
          >>> def hehe(tt):
          return 'hehe'+tt()

          >>> def test():
          return 'test'

          >>> test = hehe(test)
          >>> print test
          hehetest

          10.range和xrange
          for i in range(0, 100):
          print i

          for i in xrange(0, 100):
          print i

          這兩個輸出的結果都是一樣的,實際上有很多不同,range會直接生成一個list對象:

          a = range(0,100)
          print type(a)
          print a
          print a[0], a[1]

          而xrange則不會直接生成一個list,而是每次調用返回其中的一個值

          a = xrange(0,100)
          print type(a)
          print a
          print a[0], a[1]

          所以xrange做循環的性能比range好,尤其是返回很大的時候!

          11.python里任何對象都可以print

          用 print 打印一個對象的時候,實際上會調用這個對象的__str__函數。
          所以 print 不僅僅是可以用來打印字符串和數字的。
          class A:
          def __init__(self):
          self.a = 1

          def __str__(self):
          return str(self.a)

          a = A()
          print a

          輸出:
          1

          12.兩種遍歷目錄對比

          >>> files = os.listdir(".")
          >>> for f in files:
          print "." + os.sep + f

          上面這種已經用過了。下面是一種遞歸遍歷的:

          for root, dirs, files in os.walk("."):
          for name in files:
          print os.path.join(root,name)  回復  更多評論
            
          # re: python代碼總結
          2008-05-20 10:47 | java_he
          1.對象拷貝:

          import copy

          a = [[1],[2],[3]]
          b = copy.copy(a)

          print "before", "=>"
          print a
          print b

          # modify original
          a[0][0] = 0
          a[1] = None

          print "after", "=>"
          print a
          print b

          before =>
          [[1], [2], [3]]
          [[1], [2], [3]]
          after =>
          [[0], None, [3]]
          [[0], [2], [3]]

            回復  更多評論
            
          # re: python代碼總結
          2008-06-14 17:18 | -274°C
          10. 獲取文件CRC

          from ctypes import *
          import binascii

          def getFileCRC(_path):
          try:
          blocksize = 1024 * 64
          f = open(_path,"rb")
          str = f.read(blocksize)
          crc = 0
          while(len(str) != 0):
          crc = binascii.crc32(str, crc)
          str = f.read(blocksize)
          f.close()
          except:
          klog.error("get file crc error!")
          return 0
          return c_uint(crc).value  回復  更多評論
            
          # re: python代碼總結
          2008-10-07 14:04 |
          為何運行不了  回復  更多評論
            
          # re: python代碼總結
          2008-10-07 21:05 | 274
          @曲

          代碼都是運行過的。注意縮進。  回復  更多評論
            
          # re: python代碼總結
          2008-11-12 09:51 | amanda
          how to get the current wiki page's url?  回復  更多評論
            
          # re: python代碼總結
          2008-12-12 18:16 |
          不錯噢,多加油!  回復  更多評論
            
          # re: python代碼總結
          2009-08-06 18:41 | zngsai
          @-274&#176;C
          我的怎么是這個:
          >>> aa = 'woshi中國人'
          >>> aa
          'woshi\xd6\xd0\xb9\xfa\xc8\xcb'  回復  更多評論
            
          # re: python代碼總結
          2009-08-06 18:41 | zngsai
          @-274&#176;C
          我的怎么是這個:
          >>> aa = 'woshi中國人'
          >>> aa
          'woshi\xd6\xd0\xb9\xfa\xc8\xcb'  回復  更多評論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 靖远县| 应用必备| 南召县| 和田县| 绥德县| 新兴县| 商城县| 塘沽区| 宜城市| 台江县| 黄浦区| 仁布县| 凯里市| 周至县| 广元市| 淅川县| 永康市| 安义县| 漳浦县| 泉州市| 五河县| 常熟市| 磴口县| 苏尼特左旗| 翁源县| 台安县| 涿州市| 新和县| 全南县| 唐山市| 简阳市| 乌审旗| 舟曲县| 泌阳县| 长白| 左权县| 阳江市| 天峻县| 乌兰察布市| 恩平市| 韩城市|