Python3從零學習(五)
阿新 • • 發佈:2018-11-05
# -*- coding:utf-8 -*- #輸出與輸入 # Python兩種輸出值的方式: 表示式語句和 print() 函式。 # 第三種方式是使用檔案物件的 write() 方法,標準輸出檔案可以用 sys.stdout 引用。 # 如果你希望輸出的形式更加多樣,可以使用 str.format() 函式來格式化輸出值。 # 如果你希望將輸出的值轉成字串,可以使用 repr() 或 str() 函式來實現。 # str(): 函式返回一個使用者易讀的表達形式。 # repr(): 產生一個直譯器易讀的表達形式。 s = 'Hello World' str(s) repr(s) #format print("{}--{}".format(1,2)) print("{0}{1}".format(1,2)) print("{name}".format(name=999)) #讀和寫檔案open(name,mode) # name:name 變數是一個包含了你要訪問的檔名稱的字串值。 # mode:mode決定了開啟檔案的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,預設檔案訪問模式為只讀(r)。 # 不同模式開啟檔案的完全列表: # 模式 描述 # r 以只讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。 # rb 以二進位制格式開啟一個檔案用於只讀。檔案指標將會放在檔案的開頭。這是預設模式。 # r+ 開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。 # rb+ 以二進位制格式開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。 # w 開啟一個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 # wb 以二進位制格式開啟一個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 # w+ 開啟一個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 # wb+ 以二進位制格式開啟一個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 # a 開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 # ab 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 # a+ 開啟一個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。 # ab+ 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。 #寫 f = open("text.txt","w") f.write("Python是一個很好的語言\n我說的是真的") f.close() #讀 f = open("text.txt","r") str = f.read() print(str) f.close() #readline()讀取一行 #readlines()讀取全部行,返回list f = open("text.txt","r") str = f.tell() print(str) import pickle data1 = {'a':[1,2,3,], 'b':('String','Hello'), 'c':None} lis = [5,6,7] lis.append(lis) outp = open('data.pkl','wb') pickle.dump(data1,outp) pickle.dump(lis,outp) outp.close() import pprint pkl = open('data.pkl','rb') da = pickle.load(pkl) pprint.pprint(da) pkl.close() #Python File方法 # 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) # 向檔案寫入一個序列字串列表,如果需要換行則要自己加入每行的換行符。 #Python OS檔案/目錄方法 # os.access(path, mode) # 檢驗許可權模式 # os.chdir(path) # 改變當前工作目錄 # os.chflags(path, flags) # 設定路徑的標記為數字標記。 # os.chmod(path, mode) # 更改許可權 # os.chown(path, uid, gid) # 更改檔案所有者 # os.chroot(path) # 改變當前程序的根目錄 # os.close(fd) # 關閉檔案描述符 fd # os.closerange(fd_low, fd_high) # 關閉所有檔案描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 # os.dup(fd) # 複製檔案描述符 fd # os.dup2(fd, fd2) # 將一個檔案描述符 fd 複製到另一個 fd2 # os.fchdir(fd) # 通過檔案描述符改變當前工作目錄 # os.fchmod(fd, mode) # 改變一個檔案的訪問許可權,該檔案由引數fd指定,引數mode是Unix下的檔案訪問許可權。 # os.fchown(fd, uid, gid) # 修改一個檔案的所有權,這個函式修改一個檔案的使用者ID和使用者組ID,該檔案由檔案描述符fd指定。 # os.fdatasync(fd) # 強制將檔案寫入磁碟,該檔案由檔案描述符fd指定,但是不強制更新檔案的狀態資訊。 # os.fdopen(fd[, mode[, bufsize]]) # 通過檔案描述符 fd 建立一個檔案物件,並返回這個檔案物件 # os.fpathconf(fd, name) # 返回一個開啟的檔案的系統配置資訊。name為檢索的系統配置的值,它也許是一個定義系統值的字串,這些名字在很多標準中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 # os.fstat(fd) # 返回檔案描述符fd的狀態,像stat()。 # os.fstatvfs(fd) # 返回包含檔案描述符fd的檔案的檔案系統的資訊,像 statvfs() # os.fsync(fd) # 強制將檔案描述符為fd的檔案寫入硬碟。 # os.ftruncate(fd, length) # 裁剪檔案描述符fd對應的檔案, 所以它最大不能超過檔案大小。 # os.getcwd() # 返回當前工作目錄 # os.getcwdu() # 返回一個當前工作目錄的Unicode物件 # os.isatty(fd) # 如果檔案描述符fd是開啟的,同時與tty(-like)裝置相連,則返回true, 否則False。 # os.lchflags(path, flags) # 設定路徑的標記為數字標記,類似 chflags(),但是沒有軟連結 # os.lchmod(path, mode) # 修改連線檔案許可權 # os.lchown(path, uid, gid) # 更改檔案所有者,類似 chown,但是不追蹤連結。 # os.link(src, dst) # 建立硬連結,名為引數 dst,指向引數 src # os.listdir(path) # 返回path指定的資料夾包含的檔案或資料夾的名字的列表。 # os.lseek(fd, pos, how) # 設定檔案描述符 fd當前位置為pos, how方式修改: SEEK_SET 或者 0 設定從檔案開始的計算的pos; SEEK_CUR或者 1 則從當前位置計算; os.SEEK_END或者2則從檔案尾部開始. 在unix,Windows中有效 # os.lstat(path) # 像stat(),但是沒有軟連結 # os.major(device) # 從原始的裝置號中提取裝置major號碼 (使用stat中的st_dev或者st_rdev field)。 # os.makedev(major, minor) # 以major和minor裝置號組成一個原始裝置號 # os.makedirs(path[, mode]) # 遞迴資料夾建立函式。像mkdir(), 但建立的所有intermediate-level資料夾需要包含子資料夾。 # os.minor(device) # 從原始的裝置號中提取裝置minor號碼 (使用stat中的st_dev或者st_rdev field )。 # os.mkdir(path[, mode]) # 以數字mode的mode建立一個名為path的資料夾.預設的 mode 是 0777 (八進位制)。 # os.mkfifo(path[, mode]) # 建立命名管道,mode 為數字,預設為 0666 (八進位制) # os.mknod(filename[, mode=0600, device]) # 建立一個名為filename檔案系統節點(檔案,裝置特別檔案或者命名pipe)。 # os.open(file, flags[, mode]) # 開啟一個檔案,並且設定需要的開啟選項,mode引數是可選的 # os.openpty() # 開啟一個新的偽終端對。返回 pty 和 tty的檔案描述符。 # os.pathconf(path, name) # 返回相關檔案的系統配置資訊。 # os.pipe() # 建立一個管道. 返回一對檔案描述符(r, w) 分別為讀和寫 # os.popen(command[, mode[, bufsize]]) # 從一個 command 開啟一個管道 # os.read(fd, n) # 從檔案描述符 fd 中讀取最多 n 個位元組,返回包含讀取位元組的字串,檔案描述符 fd對應檔案已達到結尾, 返回一個空字串。 # os.readlink(path) # 返回軟連結所指向的檔案 # os.remove(path) # 刪除路徑為path的檔案。如果path 是一個資料夾,將丟擲OSError; 檢視下面的rmdir()刪除一個 directory。 # os.removedirs(path) # 遞迴刪除目錄。 # os.rename(src, dst) # 重新命名檔案或目錄,從 src 到 dst # os.renames(old, new) # 遞迴地對目錄進行更名,也可以對檔案進行更名。 # os.rmdir(path) # 刪除path指定的空目錄,如果目錄非空,則丟擲一個OSError異常。 # os.stat(path) # # 獲取path指定的路徑的資訊,功能等同於C API中的stat()系統呼叫。 # os.stat_float_times([newvalue]) # 決定stat_result是否以float物件顯示時間戳 # os.statvfs(path) # 獲取指定路徑的檔案系統統計資訊 # os.symlink(src, dst) # 建立一個軟連結 # os.tcgetpgrp(fd) # 返回與終端fd(一個由os.open()返回的開啟的檔案描述符)關聯的程序組 # os.tcsetpgrp(fd, pg) # 設定與終端fd(一個由os.open()返回的開啟的檔案描述符)關聯的程序組為pg。 # os.tempnam([dir[, prefix]]) # 返回唯一的路徑名用於建立臨時檔案。 # os.tmpfile() # 返回一個開啟的模式為(w+b)的檔案物件 .這檔案物件沒有資料夾入口,沒有檔案描述符,將會自動刪除。 # os.tmpnam() # 為建立一個臨時檔案返回一個唯一的路徑 # os.ttyname(fd) # 返回一個字串,它表示與檔案描述符fd 關聯的終端裝置。如果fd 沒有與終端裝置關聯,則引發一個異常。 # os.unlink(path) # 刪除檔案路徑 # os.utime(path, times) # 返回指定的path檔案的訪問和修改的時間。 # os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) # 輸出在資料夾中的檔名通過在樹中游走,向上或者向下。 # os.write(fd, str) # 寫入字串到檔案描述符 fd中. 返回實際寫入的字串長度 #Python類的專有方法 # __init__ : 建構函式,在生成物件時呼叫 # __del__ : 解構函式,釋放物件時使用 # __repr__ : 列印,轉換 # __setitem__ : 按照索引賦值 # __getitem__: 按照索引獲取值 # __len__: 獲得長度 # __cmp__: 比較運算 # __call__: 函式呼叫 # __add__: 加運算 # __sub__: 減運算 # __mul__: 乘運算 # __div__: 除運算 # __mod__: 求餘運算 # __pow__: 稱方