python面試題筆記day1 檔案操作

2022-06-19 21:03:15 字數 1397 閱讀 1733

從今天開始,每天做幾道python面試題和資料結構的題,並做以筆記

檔案操作

def

get_lines():

with open(

'file.txt

','rb

') as f:

return

f.readlines()

if__name__ == '

__main__':

for e in

get_lines():

process(e)

#處理每一行資料

現在要處理乙個大小為10g的檔案,但是記憶體只有4g,如果在只修改get_lines 函式而其他**保持不變的情況下,應該如何實現?需要考慮的問題都有那些?

def

print_directory_contents(spath):

"""這個函式接收資料夾的名稱作為輸入引數

返回該資料夾中檔案的路徑

以及其包含資料夾中檔案的路徑

"""

答案:

1.

def

get_lines():

with open(

'file.txt

', 'rb'

) as f:

for i in

f: yeild i

f.readlines()是將檔案中的所有內容存入乙個列表中,當檔案較大時,會占用大量記憶體。答案變成成生成器函式,減少記憶體開支

2.

def

print_directory_contents(spath):

"""這個函式接收資料夾的名稱作為輸入引數

返回該資料夾中檔案的路徑

以及其包含資料夾中檔案的路徑

"""import

os

for s_child in

os.listdir(spath):

s_child_path =os.path.join(spath, s_child)

ifos.path.isdir(s_child_path)

print_directory_contents(s_child_path)

else

:

print(s_child_path)

運用了os模組中的os.listdir,os.path.joinos.path.isdir三個函式,需要牢記。此外,簡單實用了迭代函式

Day1 前端高頻面試題之基礎版

1 js的基本型別有哪些?引用型別有哪些?null 和 undefined 區別是什麼?基本型別 null undefined number string boolean symbol 引用型別 object array date regexp function 原始型別儲存的都是值,是沒有函式可以...

Python學習筆記Day1

16 9 19 1.python3.5中一些小小的變化 print helloworld 1 2結果為0.5 1 2實現整除 3 2乘方 pow 2,3 八進位制 十進位制 0o10 8 16進製制 十進位制 0xaf 175 2.得到上次輸入的語句 alt p 3.x input x x 2 y ...

Python學習筆記 Day1

1.python提供了乙個工具,可以將python2所寫的 自動轉換為python3可使用的語法。2.python是解釋型的,這表示python 被直譯器翻譯和執行。3.print作用 在控制台上顯示字串訊息 4.縮排問題 1 在python中每一句 都需要頂格寫,否則出現 syntaxerror ...