<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • 文件操作及理論-創(chuàng)新互聯(lián)

            路徑操作模塊
            3.4 版本之前
            os.path 模塊
            from os import path
            from os import path

            創(chuàng)新互聯(lián)公司是專業(yè)的茂名網(wǎng)站建設(shè)公司,茂名接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行茂名網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

            p = path.join("/etc","sysconfig","network")
            print(1,type(p),p)
            print(2,path.exists(p))
            print(3,path.split(p)) # (head,tail)
            print(4,path.abspath(".")) #當(dāng)前目錄
            p = path.join("F:/",p,"test.txt")
            print(5,path.dirname(p)) #路徑名
            print(6,path.basename(p))# 文件名
            print(7,path.splitdrive(p))#(盤符跟路徑的元組)

            1 <class 'str'> /etc\sysconfig\network
            2 False
            3 ('/etc\sysconfig', 'network')
            4 D:\Learning\project\exercise
            5 F:/etc\sysconfig\network
            6 test.txt
            7 ('F:', '/etc\sysconfig\network\test.txt')

            p1 = path.abspath(file)
            print(p1,path.basename(p1))
            while p1 != path.dirname(p1): # 如果p1 != p1 的路徑名,繼續(xù)循環(huán)
            p1 = path.dirname(p1)
            print(p1,path.basename(p1))

            D:\Learning\project\exercise\testfunc.py testfunc.py
            D:\Learning\project\exercise exercise
            D:\Learning\project project
            D:\Learning Learning
            D:\

            3.4版本開始
            建議使用pathlib模塊,提供Path對象來操作。包括目錄和文件
            from pathlib import Path
            p = Path() #當(dāng)前目錄
            p = Path("a","b","c/d")# 當(dāng)前目錄下的a/b/c/d
            p = Path("/etc")# 根下的etc目錄
            絕對路徑:
            p.absolute()
            路徑拼接和分解
            操作符 “/ ”

            Path對象 / Path對象
            Path對象 / 字符串 或者 字符串 / Path對象

            分解
            parts 屬性,可以返回路徑中的每一個部分
            p1 = a\b\c\d\e\f
            print(p1.parts)

            ('a', 'b', 'c', 'd', 'e', 'f')
            jointpath
            jointpath(*other)連接多個字符串到Path對象中
            p = Path("a/b/c")
            print(1,p)
            p1 = p / "d" / "e" / "f"
            print(2,p1)
            print(3,p1.parts)
            p3 = p.joinpath("a","b","c",p,p / "d",Path("http"))
            print(4,p3)
            print(5,p.joinpath("etc","init.d",Path("http")))
            print(6,p)

            1 a\b\c
            2 a\b\c\d\e\f
            3 ('a', 'b', 'c', 'd', 'e', 'f')
            4 a\b\c\a\b\c\a\b\c\a\b\c\d\http
            5 a\b\c\etc\init.d\http
            6 a\b\c

            獲取路徑
            str 獲取路徑字符串
            bytes 獲取路徑字符串的bytes
            p4 = Path("etc")
            s = str(p4)
            b = bytes(p4)
            print(s,b)

            etc b'etc'

            全局方法
            cwd() 返回當(dāng)前工作目錄
            home() 返回當(dāng)前家目錄
            判斷方法
            p = Path("/etc/mysqlinstall/mysql.tar.gz")
            print(p.is_dir()) #是否是目錄,目錄存在返回True
            print(p.is_file()) #是否是普通文件,文件存在返回True
            print(p.is_symlink())# 是否是軟鏈接
            print(p.is_socket()) #是否是socket文件
            print(p.is_block_device())#是否是塊設(shè)備
            print(p.is_char_device())# 是否是字符設(shè)備
            print(p.is_absolute()) #是否是絕對路徑
            print(p.resolve()) #返回一個新的路徑,這個路徑就是當(dāng)前Path對象的絕對路徑,如果是軟鏈接則直接被解析
            print(p.exists()) #目錄或文件是否存在

            False
            False
            False
            False
            False
            False
            False
            D:\etc\mysqlinstall\mysql.tar.gz
            False

            rmdir() 刪除空目錄。沒有提供給判斷目錄為空的方法
            目錄不為空時,彈出OS Error(OSError: [WinError 145] 目錄不是空的。: 'F:\newfile')

            touch(mode=0o666,exist_ok = True)創(chuàng)建一個文件

            as_uri() 將路徑返回成URI,例如“file:///etc/passwd”
            print(Path("F:/file/a/b/c/d").as_uri())

            file:///F:/file/a/b/c/d

            mkdir(mode=0o777,parents=False,exist_ok=False)
            parents,是否創(chuàng)建父目錄,True等同于mkdir -p; False時,父目錄不存在,則拋出FileNotFoundError
            exist_ok參數(shù),在3.5版本加入。False時,路徑存在,拋出FileExistsError;True時,Error被忽略

            iterdir() 迭代當(dāng)前目錄 (沒有遞歸,當(dāng)前目錄下的文件)
            from pathlib import Path
            p = Path("a/b/c/d/")
            print(p.iterdir()) # 返回一個生成器對象

            <generator object Path.iterdir at 0x0000020C28100830>

            from pathlib import Path
            p = Path("F:/newfile")
            for y in p.parents[len(p.parents) - 1].iterdir():
            print(y, end="\t")
            if y.isdir():
            flag = False
            for
            in y.iterdir():
            flag = True
            break
            print("dir","not empty" if flag else "empty",sep="\t")
            elif y.is_file():
            print("file")
            else:
            print("other file")

            py12-湖北-胡炎林 2018/9/9 17:36:46

            通配符
            glob(pattern) 通配給定的模式
            rglob(pattern)通配給定的模式,遞歸目錄
            都返回一個生成器
            list(p.glob("test*")) #返回當(dāng)前目錄對象下的test開頭的文件
            list(p.glob("*/.py"))#遞歸所有目錄,等同rglob
            g = p.rglob("*.py") #生成器
            next(g)

            匹配
            match(pattern)
            模式匹配,成功返回True
            Path("a/b/.py").match("*.py") #True
            Path("a/b/c.py").match("b/c.py") #True
            Path("a/b/c.py").match("*/.py") #True

            stat() 相當(dāng)于stat命令
            lstat() 同 stat() 但如果是符號鏈接,則顯示符號鏈接本身的文件信息
            from pathlib import Path
            import os
            p = Path("F:/test.ini")
            a = p.stat()
            print(a)
            b = os.stat(p)
            print(b)

            os.stat_result(st_mode=33206, st_ino=1970324836978426, st_dev=3024289130, st_nlink=1, st_uid=0, st_gid=0, st_size=209, st_atime=1536146816, st_mtime=1536146886, st_ctime=1536130661)
            os.stat_result(st_mode=33206, st_ino=1970324836978426, st_dev=3024289130, st_nlink=1, st_uid=0, st_gid=0, st_size=209, st_atime=1536146816, st_mtime=1536146886, st_ctime=1536130661)

            文件操作
            Path.open(mode="r",buffer=-1,encoding=None,errors=None,newline=None)
            使用方法類似內(nèi)內(nèi)建函數(shù)open。返回一個文件對象,3.5增加的新函數(shù)

            Path.read_bytes()
            以“rb”讀取路徑文件,并返回二進(jìn)制流。
            Open the file in text mode, read it, and close the file.

            Path.read_text(encoding=None,error=None)
            以“rt”讀取路徑對應(yīng)文件,返回文本

            Path.write_bytes(data)
            以“wb”方式寫入數(shù)據(jù)到路徑對應(yīng)文件

            Path.write_text(data)
            以“wt”方式寫入數(shù)據(jù)到路徑對應(yīng)文件

            open模式進(jìn)行文件copy
            src = "F:/test.txt"
            dest = "F:/newfile/test1"
            def copy_file(src,dest):
            with open(src) as f1:
            with open(dest,"w+") as f2:
            f2.write(f1.read())

            copy_file(src,dest)

            父目錄
            partent 目錄的邏輯父目錄
            parents 父目錄序列,索引0是直接的父
            p5 = Path("a/b/c/d/e")
            print(1,p5.parent.parent)
            for x in p5.parents:
            print(2,x)

            1 a\b\c
            2 a\b\c\d
            2 a\b\c
            2 a\b
            2 a
            2 .

            目錄組成部分:
            name、stem、suffix、suffixes、with_suffix(suffix)、with_name(name)
            name 目錄的最后一個部分
            suffix 目錄中最后一個部分的擴展名
            stem 目錄最后一個部分,沒有后綴
            suffixes 返回多個擴展名列表
            with_suffix(suffix)有擴展名則替換,無則補充擴展名
            with_name(name)替換目錄最后一個部分并返回一個新的路徑
            from pathlib import Path

            p = Path("/etc/mysqlinstall/mysql.tar.gz")
            print(1,p.name)
            print(2,p.suffix)
            print(3,p.suffixes)# 返回多個擴展名列表
            print(4,p.stem)
            print(5,p.with_suffix(".png"))
            print(6,p.with_name("mysql.tgz"))
            p = Path("README")
            print(7,p.with_suffix(".txt"))
            print(8,p.with_suffix(".txt").suffixes)

            1 mysql.tar.gz
            2 .gz
            3 ['.tar', '.gz']
            4 mysql.tar
            5 \etc\mysqlinstall\mysql.tar.png
            6 \etc\mysqlinstall\mysql.tgz
            7 README.txt
            8 ['.txt']

            另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

            網(wǎng)頁題目:文件操作及理論-創(chuàng)新互聯(lián)
            標(biāo)題來源:http://www.jbt999.com/article34/doopse.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司軟件開發(fā)、網(wǎng)站排名、微信公眾號、定制網(wǎng)站網(wǎng)站內(nèi)鏈

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            網(wǎng)站優(yōu)化排名

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 京东热男人的天堂 | 国产一区精品视频 | 国产精品九九九九九九九九九 | 国产 亚洲 无码 激情前后夹击 | 综合激情网站 |