py庫:os、shutil、pathlib

https://www.cnblogs.com/MnCu8261/p/5494807.html  shutil模塊html

http://blog.csdn.net/rozol/article/details/71422712  操做系統與路徑 模塊(os / os.path / pathlib)python

 

 

 

os模塊和shutil模塊:git

  • os模塊提供了對目錄或者文件的新建、刪除、查看文件屬性,還提供了對文件以及目錄的路徑操做
  • shutil則就是對os中文件操做的補充。移動、複製、打包、壓縮、解壓

 

 


 

 

os模塊shell

  • os.getcwd()                              獲得當前工做目錄,即當前Python腳本工做的目錄路徑
  • os.listdir()                                 返回指定目錄下的全部文件和目錄名
  • os.remove()                             函數用來刪除一個文件
  • os.removedirs(r"c\python")           刪除多個目錄
  • os.path.isfile()                               檢驗給出的路徑是不是一個文件
  • os.path.isdir()                               檢驗給出的路徑是不是一個目錄
  • os.path.isabs()                             判斷是不是絕對路徑
  • os.path.exists()                            檢驗給出的路徑是否真地存在
  • os.path.split()                                返回一個路徑的目錄名和文件名
  • os.path.splitext()                           分離擴展名
  • os.path.dirname()                         獲取路徑名
  • os.path.basename()                     獲取文件名
  • os.system()                                  運行shell命令
  • os.getenv() 與os.putenv()                         讀取和設置環境變量
  • os.linesep                                                  給出當前平臺使用的行終止符,Windows使用'rn',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)                          獲取文件大小
  • 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")                                        轉換目錄, 換路徑
  • os.mknod("test.txt")                                  建立空文件

 

 

經過open獲取到的文件句柄,可對文件做的操做:json

  • file = open("aaa.txt",a)
  • file.mode 輸出讀寫模式。返回被打開文件的訪問模式。
  • file.name 返回文件的名稱
  • next()
  • file.closed 判斷文件是否已經關閉。返回true若是文件已被關閉,不然返回false
  • file.close() 關閉文件。關閉後文件不能再進行讀寫操做。
  • file.flush() 刷新文件內部緩衝,直接把內部緩衝區的數據馬上寫入文件, 而不是被動的等待輸出緩衝區寫入。
  • file.fileno() 返回一個整型的文件描述符(file descriptor FD 整型), 能夠用在如os模塊的read方法等一些底層操做上。
  • file.isatty() 若是文件鏈接到一個終端設備返回 True,不然返回 False。
  • file.next() 返回文件下一行。
  • file.read([size]) 從文件讀取指定的字節數,若是未給定或爲負則讀取全部。
  • file.readline([size]) 讀取整行,包括 "\n" 字符。
  • file.readlines([sizehint]) 讀取全部行並返回列表,若給定sizeint>0,返回總和大約爲sizeint字節的行, 實際讀取值可能比sizhint較大, 由於須要填充緩衝區。
  • file.seek(offset[, whence]) 設置文件當前位置
  • file.tell() 返回文件當前位置。
  • file.truncate([size]) 截取文件,截取的字節經過size指定,默認爲當前文件位置。
  • file.write(str) 將字符串寫入文件,沒有返回值。
  • file.writelines(sequence) 向文件寫入一個序列字符串列表,若是須要換行則要本身加入每行的換行符。

 http://www.runoob.com/python/python-files-io.html函數

 

 

 

 

 


 

 

pathlib模塊spa

from  pathlib import Path

aaa = Path(__file__).parent.parent / "git" / "package.json"  # 路徑。看一下這種寫法
print(aaa)
print(aaa.stem)  # 文件名(已去掉後綴)
print(aaa.suffix)  # 文件後綴
print(aaa.is_dir())  # 判斷是不是目錄
print(aaa.exists())  # 判斷是否存在

 

 

熟悉一下os和shutil模塊,作個練習:操作系統

將日誌文件移動到同名目錄中()。好比,把AAAAA_1.log、AAAAA_2.log,移動到AAAAA目錄中.net

import os
import shutil

os.chdir("c:/zzzzz/") # 切換路徑

for tmpfile in os.listdir(os.curdir):
    if os.path.isdir(tmpfile):
        print(tmpfile, "是文件夾")
    else:
        name1 = os.path.basename(tmpfile)
        tmpfile22 = "./" + name1[:-6]  # AAAAA_1.log  切掉"_1.log"這6個字符
        if not os.path.exists(tmpfile22):  # 若是沒目錄就建立
            os.makedirs(tmpfile22)
        shutil.move(tmpfile, tmpfile22)

 

 

 

 

 

 

 

...日誌

相關文章
相關標籤/搜索