亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果要關閉文件,是否需要再次打開該文件?

如果要關閉文件,是否需要再次打開該文件?

慕田峪7331174 2023-12-05 14:57:42
在我的作業中,我應該在一個函數中閱讀完文件后關閉該文件。但是,稍后我必須從另一個函數再次訪問它。關閉文件是強制關閉文件的好習慣的要求,但我覺得沒有必要,因為我需要稍后再次打開文件。有沒有辦法關閉文件并仍然從另一個函數訪問它,或者我應該手動重新打開它。示例代碼:def open(file):    filename = open(file, "r")    filename.read()    filename.close()def access():    for line in filename:        print(line)
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

沒有任何內容表明您必須在當前函數結束之前關閉文件,只是您必須確保文件已關閉。一種方法是將已經打開的文件access作為參數傳遞給,并在access返回后關閉它。例如,


def access1(fh):


    for line in fh:

        print(line)


def access2(fh):

    # Do something else with the file


# This is the builtin open function, not the one in the question

with open(filename) as f:

    access1(f)

    f.seek(0)  # Reset the file pointer for the next function

    access2(f)


查看完整回答
反對 回復 2023-12-05
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

將 的輸出保存filename.read()到變量中。該變量將包含文件的內容以供以后使用,即使文件已關閉也是如此。



查看完整回答
反對 回復 2023-12-05
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

是的,關閉后您需要再次打開文件。當我們完成對文件的操作后,我們需要正確關閉該文件。關閉文件將釋放資源。

Python 有一個垃圾收集器來清理未引用的對象,但保持文件打開并不是一個好方法。

或者我們可以使用

> with open("test.txt", encoding = 'utf-8') as f:    
  # perform file operations

一旦我們退出“with”語句內的塊,文件就會關閉。


查看完整回答
反對 回復 2023-12-05
  • 3 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號