Python語法基礎(chǔ)(四)匿名函數(shù)、文件操作

1椅挣、排序

nums = [111,,5,2,5,,6,33,55,33,5226,526,5]
nums.sort()    # 對列表nums的值從小到大排序
nums.sort(reverse=True)  # 先對列表nums的值從小到大排序头岔,然后反轉(zhuǎn),相當(dāng)于從大到小排序
nums.reverse()   # 對列表nums反轉(zhuǎn)

# 如果列表的的元素值是字典不數(shù)字鼠证,則應(yīng)該通過以下方式進(jìn)行排序
infors = [{'name':'laowang','age':10},{'name':'laowang','age':14},{'name':'laowang','age':20}]
infors.sort(key=lambda x:x['name'])  # x代表列表中的元素

2峡竣、匿名函數(shù)

def test(a,b,func):
    result = func(a,b)
    return result

num = test(11,22,x,y:x+y)
print(num)

以下演示python2

def test(a,b,func):
    '''python2中input輸入的內(nèi)容會直接運(yùn)行'''
    result = func(a,b)
    return result
func_new = input("請輸入一個函數(shù):")   # 運(yùn)行腳本,可輸入 x,y:x*y  x,y:x-y 檢驗(yàn)結(jié)果
num = test(a,b,func_new)
print(num)

以下演示python3

def test(a,b,func):
    '''python3中input輸入的內(nèi)容為帶雙引號的字符串'''
    result = func(a,b)
    return result
func_new = input("請輸入一個函數(shù):")   # 運(yùn)行腳本量九,可輸入lambda x,y:x*y 或 lambda x,y:x-y 檢驗(yàn)結(jié)果
func_new = eval(func_new)             # eval() 會把其中的雙引號的字符串的雙引號去掉
num = test(a,b,func_new)
print(num)

3适掰、交換兩個變量的值

a = 4
b = 5

# 第一種
# a = a+b
# b = a-b 
# a = a-b

# 第二種
# a,b = b,a

4、 +=解析

a = 100    # 不可變的數(shù)據(jù)類型
def test(num):
    num += num
    print(num)
test(a)    # 200
print(a)   # 100
a = [100]  #可變的數(shù)據(jù)類型
def test(num):
    # num += num
    num = num + num
    print(num)
#test(a)    # [100,100]
#print(a)   # [100,100]
test(a)    # [100,100]    # num = num + num   相當(dāng)于等號右邊的元組賦值給等號左邊的臨時變量num
print(a)   # 100

5荠列、文件操作

文件的打開类浪、關(guān)閉

f = open('test.txt','w')   # 打開文件
f.write("hello")
f.write("\nworld")         # \n表示換行
f.close()                  # 關(guān)閉文件
f = open('test.txt','r')   # 打開文件
f.read(1)                  # 留空則全讀出來,1表示每次都一個字節(jié)
f.close()                  # 關(guān)閉文件

6肌似、文件的復(fù)制

test.py --> test[副本].py

# 1费就、獲取用戶要復(fù)制的文件名
old_file_name = input("請輸入要復(fù)制的文件名:")   # "test.py"

# 2、打開要復(fù)制的文件
old_file = open(old_file_name,'r')

# 3川队、新建一個文件
postion = old_file_name.rfind('.')  # 4
new_file_name = old_file_name[:postion] + [副本] + old_file_name[postion:]
new_file = open(new_file_name,'w')

# 4力细、從舊文件中獲取數(shù)據(jù)并寫入新文件
content = old_file.read()
new_file.write(content)

# 5、關(guān)閉2個文件
old_file.close()
new_file.close()

6固额、大文件的處理方式

f = open("test.1.py")
f.read()       # 讀文件中的一行     返回字符串
# 處理大文件應(yīng)該多次讀
while True:
    content = f.read(1024)   # 讀文件中1024字節(jié)   返回字符串
    if len(content) == 0:
        break

f.readlines()  # 讀文件中的所有行   返回列表眠蚂,每一行為列表的一個元素

7、文件的定讀寫

f = open("test.py")
f.seek(2,0)
# 第一個參數(shù)代表從跳幾個字節(jié)開始讀
# 第二個參數(shù):0文件開頭对雪、1當(dāng)前指針位置河狐、2文件末尾
f.readline()  # 返回文件開頭一行跳過兩個字節(jié)的內(nèi)容
f.read()      # 返回下一行以后所有內(nèi)容
f.tell()      # 獲取文件指針當(dāng)前位置

7、文件瑟捣、文件夾的常見操作

import os
open('file_name',"w")                        # 當(dāng)前目錄創(chuàng)建文件
open('../file_name',"w")                     # 上級目錄創(chuàng)建文件
os.rename('old_file_name','new_file_name')   # 文件重命名
os.remove('file_name')                       # 刪除文件
os.mkdir('fd')                               # 創(chuàng)建文件夾
os.rmdir("fd")                               # 刪除文件夾
os.getcwd()                                  # 返回當(dāng)前長在操作的絕對路徑
os.listdir("./")                             # 返回當(dāng)前路徑下的所有文件名字符串組成的列表
os.chdir("../")                              # 改變默認(rèn)目錄
open('file_name',"w")                        # 此時在上級目錄創(chuàng)建文件

7馋艺、批量重命名

import os
# 第一種
# 1抬驴、獲取要重命名的文件夾的名字
folder_name = input("請輸入要重命名的文件夾:")
# 2撇簿、獲取指定的文件夾中的所有的文件名字
# 先從當(dāng)前目錄下找要重命名的文件名狰右,獲取其中的文件评矩,然后跳入相應(yīng)的文件夾修改文件名
file_names = os.listdir(folder_name)  # 直接喂給函數(shù)一個文件名則從相對目錄開始找
os.chdir(folder_name)    # 跳入相應(yīng)的文件夾
# 3亡笑、重命名
for name in file_names:
    print(name)
    os.rename(name,"[new]-" + name)

# 第二種
# 1贱迟、獲取要重命名的文件夾的名字
folder_name = input("請輸入要重命名的文件夾:")
# 2娜氏、獲取指定的文件夾中的所有的文件名字
# 先從當(dāng)前目錄下找要重命名的文件名馋辈,獲取其中的文件,然后跳入相應(yīng)的文件夾修改文件名
file_names = os.listdir(folder_name)  # 直接喂給函數(shù)一個文件名則從相對目錄開始找
#os.chdir(folder_name)    # 跳入相應(yīng)的文件夾
# 3率拒、重命名
for name in file_names:
    print(name)
    old_file_name = folder_name + "/" + name
    new_file_name = folder_name + "/" + "[new]" + name
    os.rename(old_file_name,new_file_name)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崩泡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猬膨,更是在濱河造成了極大的恐慌角撞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勃痴,死亡現(xiàn)場離奇詭異谒所,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)沛申,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門劣领,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铁材,你說我怎么就攤上這事尖淘。” “怎么了衫贬?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵德澈,是天一觀的道長。 經(jīng)常有香客問我固惯,道長梆造,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任葬毫,我火速辦了婚禮镇辉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贴捡。我一直安慰自己忽肛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布烂斋。 她就那樣靜靜地躺著屹逛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汛骂。 梳的紋絲不亂的頭發(fā)上罕模,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機(jī)與錄音帘瞭,去河邊找鬼淑掌。 笑死,一個胖子當(dāng)著我的面吹牛蝶念,可吹牛的內(nèi)容都是我干的抛腕。 我是一名探鬼主播芋绸,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼担敌!你這毒婦竟也來了摔敛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柄错,失蹤者是張志新(化名)和其女友劉穎舷夺,沒想到半個月后售貌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疫萤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年颂跨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扯饶。...
    茶點(diǎn)故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡恒削,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出尾序,到底是詐尸還是另有隱情钓丰,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布每币,位于F島的核電站携丁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏兰怠。R本人自食惡果不足惜梦鉴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揭保。 院中可真熱鬧肥橙,春花似錦、人聲如沸秸侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽味榛。三九已至椭坚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間励负,已是汗流浹背藕溅。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留继榆,地道東北人巾表。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓汁掠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親集币。 傳聞我的和親對象是個殘疾皇子考阱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容