欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python3 小技巧記錄

系統 1703 0

python 小技巧記錄

  • 我發現
    • 1、str轉bool方法
    • 2、python判斷文件和文件夾是否存在、創建文件夾
    • 3、文件操作
    • 4、python字典遍歷的幾種方法
        • 4.1、遍歷key值
        • 4.2、遍歷value值
        • 4.3、遍歷字典項
        • 4.4、遍歷字典健值
    • 5、Python 列表(List) 的三種遍歷(序號和值)方法
    • 6、python字典判斷某個Key是否存在

我發現

好多有用的小技巧其實都不難,但是每次用的時候,我都要去百度,主要是懶得去記,剛好突然有個想法,總結一些實用小技巧,歸類整理,免得到處百度,浪費不必要的時間:

1、str轉bool方法

python中字符串“True” 和 “False"轉為bool類型時, 不能通過bool(xx)強轉。

注意是因為在python中,除了’’、""、0、()、[]、{}、None為False, 其他轉換都為True。 也就是說字符串如果不為空,則永遠轉換為True。

好吧, 只能通過這樣了:

data = “True”
isTrue = data == str(True)


此時isTrue則是bool類型

2、python判斷文件和文件夾是否存在、創建文件夾

python中對文件、文件夾(文件操作函數)的操作需要涉及到os模塊和shutil模塊。
先給出一大堆的API說明吧:( 注釋綠色標記 常用到的API, 也就三到四個)

            
              得到當前工作目錄,即當前Python腳本工作的目錄路徑
              
                :
              
               os
              
                .
              
              getcwd
              
                (
              
              
                )
              
              

返回指定目錄下的所有文件和目錄名
              
                :
              
              os
              
                .
              
              listdir
              
                (
              
              
                )
              
              
                '''函數用來刪除一個文件:os.remove()'''
              
              

刪除多個目錄:os
              
                .
              
              removedirs(r“c:\python”)

檢驗給出的路徑是否是一個文件:os
              
                .
              
              path
              
                .
              
              isfile
              
                (
              
              
                )
              
              

檢驗給出的路徑是否是一個目錄:os
              
                .
              
              path
              
                .
              
              isdir
              
                (
              
              
                )
              
              

判斷是否是絕對路徑:os
              
                .
              
              path
              
                .
              
              isabs
              
                (
              
              
                )
              
              
                '''檢驗給出的路徑是否真地存:os.path.exists()'''
              
              

返回一個路徑的目錄名和文件名
              
                :
              
              os
              
                .
              
              path
              
                .
              
              split
              
                (
              
              
                )
              
                   
eg os
              
                .
              
              path
              
                .
              
              split
              
                (
              
              
                '/home/swaroop/byte/code/poem.txt'
              
              
                )
              
               
結果:
              
                (
              
              
                '/home/swaroop/byte/code'
              
              
                ,
              
              
                'poem.txt'
              
              
                )
              
               

分離擴展名:os
              
                .
              
              path
              
                .
              
              splitext
              
                (
              
              
                )
              
              

獲取路徑名:os
              
                .
              
              path
              
                .
              
              dirname
              
                (
              
              
                )
              
              

獲取文件名:os
              
                .
              
              path
              
                .
              
              basename
              
                (
              
              
                )
              
              

運行shell命令
              
                :
              
               os
              
                .
              
              system
              
                (
              
              
                )
              
              

讀取和設置環境變量
              
                :
              
              os
              
                .
              
              getenv
              
                (
              
              
                )
              
               與os
              
                .
              
              putenv
              
                (
              
              
                )
              
              

給出當前平臺使用的行終止符
              
                :
              
              os
              
                .
              
              linesep    Windows使用
              
                '\r\n'
              
              ,Linux使用
              
                '\n'
              
              而Mac使用
              
                '\r'
              
              

指示你正在使用的平臺:os
              
                .
              
              name       對于Windows,它是
              
                'nt'
              
              ,而對于Linux
              
                /
              
              Unix用戶,它是
              
                'posix'
              
              
                '''重命名:os.rename(old, new)'''
              
              
                '''創建多級目錄:os.makedirs(r'c:\python\test')'''
              
              

創建單個目錄:os
              
                .
              
              mkdir(“test”)

獲取文件屬性:os
              
                .
              
              stat(
              
                file
              
              )

修改文件權限與時間戳:os
              
                .
              
              chmod(
              
                file
              
                '''終止當前進程:os.exit()'''
              
              
                '''獲取文件大小:os.path.getsize(filename)'''
              
            
          

3、文件操作

實用方式:

            
              
                with
              
              
                open
              
              
                (
              
              
                'path\file_name'
              
              
                ,
              
              
                'r+'
              
              
                )
              
              
                as
              
               file_obj
              
                :
              
              
    contents 
              
                =
              
               file_obj
              
                .
              
              read
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              contents
              
                )
              
            
          

API解讀

            
              os
              
                .
              
              mknod
              
                (
              
              
                "test.txt"
              
              
                )
              
                      創建空文件
fp 
              
                =
              
              
                open
              
              
                (
              
              
                "test.txt"
              
              
                ,
              
              w
              
                )
              
                   直接打開一個文件,如果文件不存在則創建文件

關于
              
                open
              
               模式:

w      以寫方式打開,
a      以追加模式打開 
              
                (
              
              從 EOF 開始
              
                ,
              
               必要時創建新文件
              
                )
              
              
r	   以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
r
              
                +
              
                   以讀寫模式打開
w
              
                +
              
                   以讀寫模式打開 
              
                (
              
              參見 w 
              
                )
              
              
a
              
                +
              
                   以讀寫模式打開 
              
                (
              
              參見 a 
              
                )
              
              
rb     以二進制讀模式打開
wb     以二進制寫模式打開 
              
                (
              
              參見 w 
              
                )
              
              
ab     以二進制追加模式打開 
              
                (
              
              參見 a 
              
                )
              
              
rb
              
                +
              
                  以二進制讀寫模式打開 
              
                (
              
              參見 r
              
                +
              
              
                )
              
              
wb
              
                +
              
                  以二進制讀寫模式打開 
              
                (
              
              參見 w
              
                +
              
              
                )
              
              
ab
              
                +
              
                  以二進制讀寫模式打開 
              
                (
              
              參見 a
              
                +
              
              
                )
              
              
                '''
文件API解讀
'''
              
              
fp
              
                .
              
              read
              
                (
              
              
                [
              
              size
              
                ]
              
              
                )
              
              
                '''size為讀取的長度,以byte為單位 (如果未給定或為負則讀取所有)'''
              
              

fp
              
                .
              
              readline
              
                (
              
              
                [
              
              size
              
                ]
              
              
                )
              
              
                '''讀一行,如果定義了size,有可能返回的只是一行的一部分(包括 "\n" 字符)'''
              
              

fp
              
                .
              
              readlines
              
                (
              
              
                [
              
              size
              
                ]
              
              
                )
              
              
                '''把文件每一行作為一個list的一個成員,并返回這個list。
									其實它的內部是通過循環調用readline()來實現的。
									如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
									'''
              
              

fp
              
                .
              
              write
              
                (
              
              
                str
              
              
                )
              
              
                '''把str寫到文件中,write()并不會在str后加上一個換行符'''
              
              

fp
              
                .
              
              writelines
              
                (
              
              seq
              
                )
              
              
                '''把seq的內容全部寫到文件中(多行一次性寫入)。
								 這個函數也只是忠實地寫入,不會在每行后面加上任何東西。'''
              
              

fp
              
                .
              
              close
              
                (
              
              
                )
              
              
                '''關閉文件。python會在一個文件不用后自動關閉文件,
								不過這一功能沒有保證,最好還是養成自己關閉的習慣。 
								 如果一個文件在關閉后還對其進行操作會產生ValueError'''
              
              

fp
              
                .
              
              flush
              
                (
              
              
                )
              
              
                '''把緩沖區的內容寫入硬盤'''
              
              

fp
              
                .
              
              fileno
              
                (
              
              
                )
              
              
                '''返回一個長整型的”文件標簽“'''
              
              

fp
              
                .
              
              isatty
              
                (
              
              
                )
              
              
                '''文件是否是一個終端設備文件(unix系統中的)'''
              
              

fp
              
                .
              
              tell
              
                (
              
              
                )
              
              
                '''返回文件操作標記的當前位置,以文件的開頭為原點'''
              
              

fp
              
                .
              
              
                next
              
              
                (
              
              
                )
              
              
                '''返回下一行,并將文件操作標記位移到下一行。
									把一個file用于for … in file這樣的語句時,
									就是調用next()函數來實現遍歷的。'''
              
              

fp
              
                .
              
              seek
              
                (
              
              offset
              
                [
              
              
                ,
              
              whence
              
                ]
              
              
                )
              
              
                '''將文件打操作標記移到offset的位置。這個offset一般是相對于文件的開頭來計算的,
										一般為正數。但如果提供了whence參數就不一定了,whence可以為0表示從頭開始計算,
										1表示以當前位置為原點計算。2表示以文件末尾為原點進行計算。需要注意,
										如果文件以a或a+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾。'''
              
              

fp
              
                .
              
              truncate
              
                (
              
              
                [
              
              size
              
                ]
              
              
                )
              
              
                '''把文件裁成規定的大小,默認的是裁到當前文件操作標記的位置。
									如果size比文件的大小還要大,依據系統的不同可能是不改變文件,
									也可能是用0把文件補到相應的大小,也可能是以一些隨機的內容加上去。'''
              
              

 
目錄操作:
os
              
                .
              
              mkdir
              
                (
              
              
                "file"
              
              
                )
              
                                 創建目錄
復制文件:
shutil
              
                .
              
              copyfile
              
                (
              
              
                "oldfile"
              
              
                ,
              
              
                "newfile"
              
              
                )
              
                     oldfile和newfile都只能是文件
shutil
              
                .
              
              copy
              
                (
              
              
                "oldfile"
              
              
                ,
              
              
                "newfile"
              
              
                )
              
                          oldfile只能是文件夾,newfile可以是文件,也可以是目標目錄
復制文件夾:
shutil
              
                .
              
              copytree
              
                (
              
              
                "olddir"
              
              
                ,
              
              
                "newdir"
              
              
                )
              
                      olddir和newdir都只能是目錄,且newdir必須不存在
重命名文件(目錄)
os
              
                .
              
              rename
              
                (
              
              
                "oldname"
              
              
                ,
              
              
                "newname"
              
              
                )
              
                     文件或目錄都是使用這條命令
移動文件(目錄)
shutil
              
                .
              
              move
              
                (
              
              
                "oldpos"
              
              
                ,
              
              
                "newpos"
              
              
                )
              
                 
刪除文件
os
              
                .
              
              remove
              
                (
              
              
                "file"
              
              
                )
              
              
刪除目錄
os
              
                .
              
              rmdir
              
                (
              
              
                "dir"
              
              
                )
              
              只能刪除空目錄
shutil
              
                .
              
              rmtree
              
                (
              
              
                "dir"
              
              
                )
              
                  空目錄、有內容的目錄都可以刪
轉換目錄
os
              
                .
              
              chdir
              
                (
              
              
                "path"
              
              
                )
              
                 換路徑

            
          

4、python字典遍歷的幾種方法

4.1、遍歷key值

            
              
                >>
              
              
                >
              
               a

              
                {
              
              
                'a'
              
              
                :
              
              
                '1'
              
              
                ,
              
              
                'b'
              
              
                :
              
              
                '2'
              
              
                ,
              
              
                'c'
              
              
                :
              
              
                '3'
              
              
                }
              
              
                >>
              
              
                >
              
              
                for
              
               key 
              
                in
              
               a
              
                :
              
              
                print
              
              
                (
              
              key
              
                +
              
              
                ':'
              
              
                +
              
              a
              
                [
              
              key
              
                ]
              
              
                )
              
              
 
a
              
                :
              
              
                1
              
              
b
              
                :
              
              
                2
              
              
c
              
                :
              
              
                3
              
              
                >>
              
              
                >
              
              
                for
              
               key 
              
                in
              
               a
              
                .
              
              keys
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              key
              
                +
              
              
                ':'
              
              
                +
              
              a
              
                [
              
              key
              
                ]
              
              
                )
              
              
 
a
              
                :
              
              
                1
              
              
b
              
                :
              
              
                2
              
              
c
              
                :
              
              
                3
              
            
          

在使用上,for key in a和 for key in a.keys():完全等價。

4.2、遍歷value值

            
              
                >>
              
              
                >
              
              
                for
              
               value 
              
                in
              
               a
              
                .
              
              values
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              value
              
                )
              
              
                1
              
              
                2
              
              
                3
              
            
          

4.3、遍歷字典項

            
              
                >>
              
              
                >
              
              
                for
              
               kv 
              
                in
              
               a
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              kv
              
                )
              
              
                (
              
              
                'a'
              
              
                ,
              
              
                '1'
              
              
                )
              
              
                (
              
              
                'b'
              
              
                ,
              
              
                '2'
              
              
                )
              
              
                (
              
              
                'c'
              
              
                ,
              
              
                '3'
              
              
                )
              
            
          

4.4、遍歷字典健值

            
              
                >>
              
              
                >
              
              
                for
              
               key
              
                ,
              
              value 
              
                in
              
               a
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              key
              
                +
              
              
                ':'
              
              
                +
              
              value
              
                )
              
              
 
a
              
                :
              
              
                1
              
              
b
              
                :
              
              
                2
              
              
c
              
                :
              
              
                3
              
              
                >>
              
              
                >
              
              
                for
              
              
                (
              
              key
              
                ,
              
              value
              
                )
              
              
                in
              
               a
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              key
              
                +
              
              
                ':'
              
              
                +
              
              value
              
                )
              
              
 
a
              
                :
              
              
                1
              
              
b
              
                :
              
              
                2
              
              
c
              
                :
              
              
                3
              
            
          

在使用上for key,value in a.items()與for (key,value) in a.items()完全等價

5、Python 列表(List) 的三種遍歷(序號和值)方法

            
              
                #!/usr/bin/env python
              
              
                # -*- coding: utf-8 -*-
              
              
                if
              
               __name__ 
              
                ==
              
              
                '__main__'
              
              
                :
              
              
                list
              
              
                =
              
              
                [
              
              
                'html'
              
              
                ,
              
              
                'js'
              
              
                ,
              
              
                'css'
              
              
                ,
              
              
                'python'
              
              
                ]
              
              
                # 方法1
              
              
                print
              
              
                '遍歷列表方法1:'
              
              
                for
              
               i 
              
                in
              
              
                list
              
              
                :
              
              
                print
              
              
                (
              
              
                "序號:%s   值:%s"
              
              
                %
              
              
                (
              
              
                list
              
              
                .
              
              index
              
                (
              
              i
              
                )
              
              
                +
              
              
                1
              
              
                ,
              
               i
              
                )
              
              
                )
              
              
                print
              
              
                '\n遍歷列表方法2:'
              
              
                # 方法2
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                len
              
              
                (
              
              
                list
              
              
                )
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "序號:%s   值:%s"
              
              
                %
              
              
                (
              
              i 
              
                +
              
              
                1
              
              
                ,
              
              
                list
              
              
                [
              
              i
              
                ]
              
              
                )
              
              
                )
              
              
                # 方法3
              
              
                print
              
              
                '\n遍歷列表方法3:'
              
              
                for
              
               i
              
                ,
              
               val 
              
                in
              
              
                enumerate
              
              
                (
              
              
                list
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "序號:%s   值:%s"
              
              
                %
              
              
                (
              
              i 
              
                +
              
              
                1
              
              
                ,
              
               val
              
                )
              
              
                )
              
              
                # 方法3
              
              
                print
              
              
                '\n遍歷列表方法3 (設置遍歷開始初始位置,只改變了起始序號):'
              
              
                for
              
               i
              
                ,
              
               val 
              
                in
              
              
                enumerate
              
              
                (
              
              
                list
              
              
                ,
              
              
                2
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "序號:%s   值:%s"
              
              
                %
              
              
                (
              
              i 
              
                +
              
              
                1
              
              
                ,
              
               val
              
                )
              
              
                )
              
            
          

運行代碼后的結果如下圖所示:
python3 小技巧記錄_第1張圖片

6、python字典判斷某個Key是否存在

第一種方法:使用自帶函數實現(python2)。

在python的字典的屬性方法里面有一個has_key()方法,這個方法使用起來非常簡單。

            
              
                #生成一個字典
              
              
d 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                {
              
              
                }
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                {
              
              
                }
              
              
                ,
              
              
                'sex'
              
              
                :
              
              
                {
              
              
                }
              
              
                }
              
              
                #打印返回值
              
              
                print
              
               d
              
                .
              
              has_key
              
                (
              
              
                'name'
              
              
                )
              
              
                #結果返回True
              
            
          

第二種方法:使用in方法(python3)

            
              
                #生成一個字典
              
              
d 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                {
              
              
                }
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                {
              
              
                }
              
              
                ,
              
              
                'sex'
              
              
                :
              
              
                {
              
              
                }
              
              
                }
              
              
                #打印返回值,其中d.keys()是列出字典所有的key
              
              
                print
              
               name 
              
                in
              
               d
              
                .
              
              keys
              
                (
              
              
                )
              
              
                #結果返回True
              
            
          

上面兩種方式,我更 推薦 使用 第二種 ,因為 has_key()是python2.2 之前的方法,而且使用 in 的方法會更快一些。

最后告訴大家一點:除了使用 in 還可以使用 not in ,判定這個key不存在哦~

ps: 未完待續…


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人国产精品免费 | 国产精品视屏 | 国产普通话自拍 | 免费黄色av | 天天成人综合网 | 亚洲产国偷V产偷V自拍A片 | 91久久精品国产91久久 | 免费国产成人高清视频网站 | 欧美一级艳片视频免费观看 | 婷婷丁香社区 | 日本免费不卡在线一区二区三区 | 国产精品一区在线观看你懂的 | 91最新视频 | 在线视频三级 | 亚洲成网站www久久九 | 一级免费大片 | 精品伊人久久久大香线蕉欧美 | 精品一区中文字幕 | 日本不卡视频在线观看 | 欧美午夜不卡 | 日韩午夜伦y4480私人影院 | 成人高清在线视频 | 久草在线草a免费线看 | 江苏少妇性BBB搡BBB爽爽爽 | xx00视频| 亚洲午夜精品一区二区蜜桃 | 免费黄色大片在线观看 | 精品无人乱码一区二区三区 | 欧美日韩精品一区二区三区在线观看 | 欧美日韩在线免费 | av一级久久 | 午夜视频在线看 | 国内精品视频九九九九 | 久久1区 | 人人综合网 | 成人一级黄色大片 | 四虎图库 | 亚洲一区国产二区 | 九七婷婷狠狠成人免费视频 | 亚洲精品在线视频观看 | 日日狠狠的日日日日 |