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

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

在多個文件中寫入同一行的簡潔方法 - Python

在多個文件中寫入同一行的簡潔方法 - Python

哆啦的時光機 2022-12-20 14:36:20
我有幾個打開的文件?,F在,我需要在所有這些中寫同一行。我當前的代碼如下,但它不優雅且非常重復。有沒有辦法在更少的行中做到這一點?with open("a.txt", "a+") as fa,\     open("b.txt", "a+") as fb,\     open("c.txt", "a+") as fc,\     open("d.txt",  "a+") as fd,\     open("e.txt", "a+") as fe,\     open("f.txt", "a+") as ff,\     open("g.txt", "a+") as fg:    fa.write("header")    fb.write("header")    fc.write("header")    fd.write("header")    fe.write("header")    ff.write("header")    fg.write("header")在程序的其余部分(未顯示),我以不同方式處理每個文件,向每個文件附加不同的信息。如果這篇文章重復,我很抱歉!
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

只需使用 for 循環:


for file in files_list:

    with open(file, "a+") as fa:

        fa.write("header")

將所有文件名放入 files_list


查看完整回答
反對 回復 2022-12-20
?
牛魔王的故事

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

我能想到的最簡單的是:


for i in range(7):

    f[i] = open("f" + chr(ord('a') + i) + ".txt", "a+")


for i in range(7):

    f[i].write("header")

然后你就可以做你的事情了......


查看完整回答
反對 回復 2022-12-20
?
神不在的星期二

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

您可以創建上下文管理器來創建已打開文件的字典,然后遍歷該字典以在所有文件中寫入標題。


使用字典而不是列表來確保您可以在主代碼中獨立可靠地使用文件


一個可能的實現:


from contextlib import contextmanager


@contextmanager

def open_many(key_path):

    opened_files = {}

    try:

        opened_files = {key: open(path, "w") for key, path in key_path.items()}

        yield opened_files

    finally:

        for f in opened_files.values():

            f.close()



with open_many({"a": "a.txt", "b": "b.txt"}) as file_map:

    for f in file_map.values():

        f.write("header")


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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