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

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

將我的代碼中的結果打印到 .txt 不再起作用

將我的代碼中的結果打印到 .txt 不再起作用

MMTTMM 2022-04-27 13:23:36
我正在嘗試將我的算法(分數)的一些結果打印到 .txt 文件中,以獲取該數據以供進一步分析。在這里,算法將創建文件,然后打開它以記下數字。然后我又想關閉它。我的問題是,我什至找不到文件。如果我自己創建一個,并且只嘗試寫數字,那也行不通。這是為了分析機器人的強化學習。這些分數象征著 Q 值,對進一步分析很重要。分數在這里是一個隨機數。if __name__ == '__main__':    open('try.txt', 'w+').close()    for e in range(agent.load_episode + 1, EPISODES):        ...        for t in range(agent.episode_step):           ...            if done:               ...                saveFile = open('try.txt','w')                saveFile.write(str(score))                saveFile.close()從第一部分開始,我嘗試創建一個名為 try.txt 的新文件(我只創建一次文件)。他們之后,我打開文件,寫一些東西然后再次關閉它。計算下一個 Q 值時,再次打開文件。
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

該文件是否應該僅包含最后計算的值、單次運行的所有值(可能每個都在新行中),或者甚至包含單獨運行的值?然而,這個,有點修改,剪斷可能是你正在尋找的:


if __name__ == '__main__':

    with open('try.txt', 'w') as saveFile:  # change to 'a' if you want the results to be stored between runs

        for e in range(agent.load_episode + 1, EPISODES):

            ...

            for t in range(agent.episode_step):

                ...

                if done:

                    ...

                    # saveFile.truncate()  uncommenting this means that the file only stores the latest value

                    saveFile.write(str(score) + '\n')  # write each result to new line

                    saveFile.flush()  # this line makes the results accessible from file as soon as they are calculated

在 python中,with是打開文件的首選方法,因為它會在適當的時候關閉它。當以 'w' 模式打開文件時,文件內的插入符號被放置在文件的開頭,如果文件中有任何數據,它將被刪除。


'a' 模式附加到文件。你可能想看看這個。


現在我相信您想要不斷地打開和關閉文件,以便在迭代完成后立即訪問數據。這就是 saveFile.flush() 的用途。如果這對您有幫助,請告訴我!


為了更好地控制文件的創建位置,請使用 os 模塊:


import os

directory = os.path.dirname(os.path.abspath(__file__))

file_path = os.path.join(directory, 'try.txt')

# print(file_path)

with open(file_path, 'w') as saveFile:



查看完整回答
反對 回復 2022-04-27
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

嘗試更改saveFile = open('try.txt', 'w')with open('try.txt', 'a+') as saveFile:



查看完整回答
反對 回復 2022-04-27
  • 2 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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