1. 程式人生 > >python--匿名函數、文件操作

python--匿名函數、文件操作

排序。 hang 創建 lose key move 返回 一次 blog

一、匿名函數

  • 語法:
    sum = lambda arg1, arg2: arg1 + arg2

    #調用sum函數
    print "Value of total : ", sum( 10, 20 )    #結果為:30
    print "Value of total : ", sum( 20, 20 )    #結果為:40
  • 應用場合

    • 作為函數的實參
    def fun(a, b, opt):
        print("a =", a)
        print("b =", b)
        print("result =", opt(a, b)
    
    fun(1, 2, lambda x, y:x +
    y #結果為:a = 1 b = 2 result = 3
    • 作為python內置函數的參數。
    stus = [
        {"name":"zhangsan", "age":18}, 
        {"name":"lisi", "age":19}, 
        {"name":"wangwu", "age":17}
    ]
    
    #將以上列表按姓名排序。
    stus.sort(key = lambda x:x[‘name‘])

二、文件

  • 打開文件:

    • 使用open()函數。
    file = open(‘test.txt‘, ‘r‘)
    訪問模式 說明
    r 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
    w 打開一個文件只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
    a 打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
    rb 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。
    wb 以二進制格式打開一個文件只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
    ab 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
    r+ 打開一個文件用於讀寫。文件指針將會放在文件的開頭。
    w+ 打開一個文件用於讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
    a+ 打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。
    rb+ 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。
    wb+ 以二進制格式打開一個文件用於讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
    ab+ 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。
  • 關閉文件:

    • 使用close()函數
    file.close()
  • 讀取文件:

    • 使用read()函數
    file.read()
    file.read(1)    #每次只讀一個字節
    file.read(2)    #每次讀兩個字節
    • 使用readlines()函數:readlines可以按照行的方式把整個文件中的內容進行一次性讀取,並且返回的是一個列表,其中每一行的數據為一個元素

    • 使用readline()函數:只讀取文件中的一行

  • 寫入內容:

使用write()函數

python file.write(‘12345‘)

  • 定位讀寫:
    • 獲取當前文件讀取的位置:tell()
    • 定位到某個位置:seek(offset, from)
      • offset:偏移量
      • from:方向
        • 0:表示文件開頭
        • 1:表示當前位置
        • 2:表示文件末尾
  • 文件的重命名:rename():
import os
os.rename(‘test.txt‘, ‘1.txt‘)
os.remove(‘1.txt‘)
os.mkdir(‘test‘)
os.rmdir(‘test‘)
os.getcwd()
os.chdir(‘../‘)
os.listdir(‘./‘)
  • 刪除文件:remove()

  • 創建文件夾:mkdir()
  • 刪除文件夾:rmdir()
  • 獲取當前目錄:getcwd()
  • 改變默認目錄:chdir()
  • 獲取目錄列表:listdir()

python--匿名函數、文件操作