亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中關于日期時間處理的問答集錦

 更新時間:2013年03月08日 11:56:26   作者:  
python中有關日期時間處理的問答集錦,有需要的朋友不妨參考下

如何在安裝setuptools模塊時不生成egg壓縮包而是源碼

    Q:如何在安裝setuptools模塊時不生成egg壓縮包而是源碼,這樣有時可以修改代碼進行調(diào)試
    A:其實很簡單,就在setup.py中的setup函數(shù)中增加 zip_safe=False, 參數(shù)即可。

    這樣安裝后的東西不再是一個egg文件了,而是象以前一樣的目錄結構。

    如何判斷一個字符串只包含數(shù)字字符
    這是在 Python.list 郵件列表上看到的討論

    Q:如何判斷一個字符串只包含數(shù)字字符

    A:一種方法是 a.isdigit()。但這種方法對于包含正負號的數(shù)字字符串無效,因此更為準確的為:
        try:
            x = int(aPossibleInt)
            ... do something with x ...
        except ValueError:
            ... do something else ...

    這樣更準確一些,適用性也更廣。但如果你已經(jīng)確信沒有正負號,使用字符串的isdigit()方法則更為方便。

    知道某天,如何得到上星期的日期
    這是有人向我問的一個問題,記錄在下面:

    Q: 我要寫的小程序是這樣的,寫一個python腳本去返回上個星期的天數(shù) in the format "YYYYMMDD"比如日期是20051122,返回結果是:["20051113", "20051114", "20051115", "20051116", "20051117", "20051118", "20051119"]

    A:首先將字符串的'yyyymmdd'轉(zhuǎn)為 (year, mon, day),簡單的可以:
         >>> date = '20051122'
         >>> year, mon, day = int(date[:4]), int(date[4:6]), int(date[6:])

    然后使用 datetime 得到一個 datetime 對象
         >>> import datetime
         >>> d = datetime.datetime(year, mon, day)
    因為 datetime 對象可以得到一個天數(shù)的星期日數(shù)(weekday),根據(jù)這個數(shù)向前推即可。
         >>> d.weekday()
         1

    文檔上說,星期一是 0,則此上面就是星期二??茨愕囊笫菑男瞧谌臻_始算第一天,因此上個星期六就是:指定日期-它的星期日數(shù)-2
    知道星期六了,就知道上個星期的每天時間了
         >>> b = d - datetime.timedelta(d.weekday() + 2)
         >>> days = []
         >>> for i in range(6, -1, -1):
         ...   c = b - datetime.timedelta(i)
         ...   days.append(c.strftime('%Y%m%d'))
         >>> days
         ['20051113', '20051114', '20051115', '20051116', '20051117', '20051118', '20051119']

    如何截取指定長度的漢字

    Q: 我想截取一個指定長度的漢字串,但不想有半個漢字,如何做比較簡單
    A: 可以考慮先按長度截取,然后轉(zhuǎn)為unicode,如果成功就返回,如果失敗,將長度減1返回即可。示例程序為:
        #coding=gbk
        def clip_hz(s, length):
            t = s[:length]
            try:
                unicode(t, 'gbk')
            except:
                t = s[:length-1]
            return t

        a = '中華人2民as共和國'
        if __name__ == '__main__':
            print clip_hz(a, 9)
            print clip_hz(a, 10)
            print clip_hz(a, 11)
            print clip_hz(a, 12)

    如何在Windows下方便地進入命令行運行程序

     在windows下的cmd窗口中執(zhí)行python程序,我一般是這樣做:

    1. 執(zhí)行一個reg文件,內(nèi)容為:

復制代碼 代碼如下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTDirectoryshellcmdcommand]
@="cmd.exe /k "cd %L""


    它的作用是在你的資源管理器上的右鍵菜單上增加一個菜單,名字為cmd。那么以后你在目錄欄中點擊一個目錄,然后點右鍵,再執(zhí)行這個cmd菜單,就會直接進入這個目錄的命令行。

    2. 因為已經(jīng)進入了你的python程序所在的目錄,因此直接在命令行下運行:
     Python yourprog.py  即可。

    前提是你已經(jīng)將 Python 的安裝目錄加到 PATH 的環(huán)境變量中。

    重新設定包的搜索路徑,以方便導入子模塊
    也許這個題目有些唬人,不過實在不好表述,這是我在讀 TaskCoach 時看到的一段代碼。
    Q: 我有一個包,已經(jīng)安裝到了 Python 的 lib/site-packages 目錄下,我可以通過 import x.sub 方式來導入 x 包的 sub 模塊,但我想更方便的使用 import sub 來導入子模塊,有沒有這樣的方法

    A: 要做一點簡單的工作。
        import x

        libpath = x.__path__[0]
        sys.path.insert(0, libpath)
        del x

    先導入 x 包,得到它的路徑,然后將這個路徑加到sys.path(Python的模塊搜索路徑)的最前面。然后再將 x 模塊刪除即可。以后再導入 sub 時,可以只使用 import sub 來導入了。
    把這段代碼加到啟動代碼中執(zhí)行,以后就一直生效了。
    不過 TaskCoach 中不是使用 insert 來處理的,而是使用 append 來做的,這樣我覺得不太好。因此如果在 x 包的前面有與你的子模塊同名的模塊就麻煩了,還是放在最前面保險。
    不過還可以使用 from x import sub 方式來導入,這樣更易理解和標準一些。上述的技術是很有趣將其收錄,看情況大家自已使用吧。

    子模塊如何共享父模塊的信息

    Q:一個模塊A調(diào)用一個模塊B,那么B如何訪問模塊A中的數(shù)據(jù)

    A:非常簡單,在模塊B中導入A模塊即可

    其實這根本可以不認為是一個技巧,很多人也許就是這樣做的。之所以寫出來,只是提醒大家,你想到的可能就是可行的辦法。因為之前我遇到過這樣的問題,也想到這種方法,但感覺似乎并不好。但看了 CherryPy 的源碼之后,它就是這樣做的。因此我想這其實就是一種可行的辦法。

    如何計算時間差

    Q:如何方便的計算兩個時間的差,如兩個時間相差幾天,幾小時等

    A:使用datetime模塊可以很方便的解決這個問題,舉例如下:
        >>> import datetime
        >>> d1 = datetime.datetime(2005, 2, 16)
        >>> d2 = datetime.datetime(2004, 12, 31)
        >>> (d1 - d2).days
        47
    上例演示了計算兩個日期相差天數(shù)的計算。
        import datetime
        starttime = datetime.datetime.now()
        #long running
        endtime = datetime.datetime.now()
        print (endtime - starttime).seconds

    上例演示了計算運行時間的例子,以秒進行顯示。
        >>> d1 = datetime.datetime.now()
        >>> d3 = d1 + datetime.timedelta(hours=10)
        >>> d3.ctime()
    上例演示了計算當前時間向后10小時的時間。

    其 本上常用的類有:datetime和timedelta兩個。它們之間可以相互加減。每個類都有一些方法和屬性可以查看具體的值,如datetime可以 查看:天數(shù)(day),小時數(shù)(hour),星期幾(weekday())等;timedelta可以查看:天數(shù)(days),秒數(shù)(seconds) 等。

    如何取得用戶的起始目錄

    Q:我正在設計一個跨平臺的應用,有沒有一個統(tǒng)一的方法可以得到某個用戶的起始目錄

    A:用戶的起始目錄這里我指的是數(shù)據(jù)存放的目錄,它根據(jù)用戶的不同,可以由用戶保存自已的數(shù)據(jù)?,F(xiàn)在還沒有一個統(tǒng)一的方式,下面是我看到的一個函數(shù)可以做這件事:
        def getHomeDir():
            ''' Try to find user's home directory, otherwise return current directory.'''
            try:
                path1=os.path.expanduser("~")
            except:
                path1=""
            try:
                path2=os.environ["HOME"]
            except:
                path2=""
            try:
                path3=os.environ["USERPROFILE"]
            except:
                path3=""

            if not os.path.exists(path1):
                if not os.path.exists(path2):
                    if not os.path.exists(path3):
                        return os.getcwd()
                    else: return path3
                else: return path2
            else: return path1

    在使用前記得導入os和os.path模塊。

    查看unicode格式的數(shù)據(jù)

    Q:如果我有一個unicode格式的數(shù)據(jù),如列表,如何才可以打印出可顯示的格式,我不想看到u'uxxxx'這種樣子
    A:我自已寫了一個小函數(shù),可以做這件事,只不過沒有經(jīng)過優(yōu)化。我想如果想顯示漂亮最好是修改pprint.py模塊,用它用做,不過簡單地用來調(diào)試應該夠了。也許會有點用:)
        def uni_prt(a, encoding=None):
            import sys
            s = []
            if not encoding:
                encoding = sys.getdefaultencoding()
            if isinstance(a, (list, tuple)):
                if isinstance(a, list):
                    s.append('[')
                else:
                    s.append('(')
                for i, k in enumerate(a):
                    s.append(uni_prt(k, encoding))
                    if i<len(a)-1:
                        s.append(', ')
                if isinstance(a, list):
                    s.append(']')
                else:
                    s.append(')')
            elif isinstance(a, dict):
                for i, k in enumerate(a.items()):
                    key, value = k
                    s.append('{%s: %s}' % (uni_prt(key, encoding), uni_prt(value, encoding)))
                    if i<len(a.items())-1:
                        s.append(', ')
            elif isinstance(a, str):
                s.append("'%s'" %a)
            elif isinstance(a, unicode):
                s.append("'%s'" % a.encode(encoding))
            else:
                s.append(str(a))
            return ''.join(s)

    執(zhí)行如:
    >>> a=unicode('中國', 'cp936')
    >>> print uni_prt([a]*3, 'cp936')
    ['中國', '中國', '中國']
第二個參數(shù)為unicode字符轉(zhuǎn)換所使用的編碼。缺省為系統(tǒng)缺省編碼。

相關文章

  • 如何利用Python快速統(tǒng)計文本的行數(shù)

    如何利用Python快速統(tǒng)計文本的行數(shù)

    這篇文章主要介紹了如何利用Python快速統(tǒng)計文本的行數(shù),要快速統(tǒng)計一個文本文件中的行數(shù),其實就是要統(tǒng)計這個文本文件中換行符的個數(shù),下面我們就一起進入文章看看具體的操作過程吧
    2021-12-12
  • python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取

    python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取

    這篇文章主要介紹了python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取,需要的朋友可以參考下
    2021-04-04
  • python?logging模塊的分文件存放詳析

    python?logging模塊的分文件存放詳析

    這篇文章主要介紹了python?logging模塊的分文件存放詳析,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • pandas中關于nan的處理方式

    pandas中關于nan的處理方式

    這篇文章主要介紹了pandas中關于nan的處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程

    Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程

    這篇文章主要介紹了Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • django雙下劃線的具體使用

    django雙下劃線的具體使用

    雙下劃線約定通常用于執(zhí)行一些特定的查詢操作,本文主要介紹了django雙下劃線的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • python中添加模塊導入路徑的方法

    python中添加模塊導入路徑的方法

    這篇文章主要介紹了python中添加模塊導入路徑的方法 ,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python3.7實現(xiàn)云之訊、聚合短信平臺的短信發(fā)送功能

    python3.7實現(xiàn)云之訊、聚合短信平臺的短信發(fā)送功能

    這篇文章主要介紹了python3.7實現(xiàn)云之訊、聚合短信平臺的短信發(fā)送功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解

    python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解

    探尋python的數(shù)據(jù)類型是否可變,也可以更好的理解python對內(nèi)存的使用情況,下面這篇文章主要給大家介紹了關于python中不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • Python自動化辦公Excel模塊openpyxl原理及用法解析

    Python自動化辦公Excel模塊openpyxl原理及用法解析

    這篇文章主要介紹了Python自動化辦公Excel模塊openpyxl原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論