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

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

如果文本文件中包含用戶在Python中輸入的特定字符串,該如何更新文本文件中的行?

如果文本文件中包含用戶在Python中輸入的特定字符串,該如何更新文本文件中的行?

蠱毒傳說 2021-05-14 15:15:00
目前,我有一個程序接受文本文件作為設置參數。文本文件的格式如下:我想在Python中做的是能夠解析該文件。我想閱讀每一行,并檢查它是否包含特定的字符串,以及該行是否包含它,因此能夠在該行的末尾添加/更新用戶輸入的文本。例如,在文本文件中找到“ PRIMER_PRODUCT_SIZE_RANGE =“(突出顯示),我想將其從“ PRIMER_PRODUCT_SIZE_RANGE = 100-300”更新為例如“ PRIMER_PRODUCT_SIZE_RANGE = 500-1000”。我希望能夠對幾個參數(我根據需要選擇的參數)執行此操作。我研究過的一些工具包括fileinput模塊,執行常規文件打開/寫入操作(顯然我不能進行就地編輯),以及一個我發現的模塊in_place模塊。我使用in_place模塊的一些初步代碼:def SettingFileParser(filepath):    with in_place.InPlaceText(filepath) as text_file:        for line in text_file:            if 'PRIMER_PRODUCT_SIZE_RANGE=' in line:                text_file.write("idk what to put here")我是一個菜鳥程序員,因此請向正確的方向提供幫助或指導。
查看完整描述

3 回答

?
慕容3067478

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

您需要打開文件進行讀?。J),然后需要打開文件進行寫入:


def SettingFileParser(filepath):

    with open(filepath, 'r') as read_file:

        lines = read_file.readlines():

        with open(filepath, 'w') as write_file:

            for line in lines:

                if line.startswith('PRIMER_PRODUCT_SIZE_RANGE='):

                    # keep the line the same except the part needing replacement

                    write_file.write(line.replace('100-300','500-1000'))

                else:

                    # otherwise just write the line as is

                    write_file.write(line)


查看完整回答
反對 回復 2021-05-18
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊


具體來說,這樣的事情可能會解決問題:


import re

# read in file here...

re.sub(r"PRIMER_PRODUCT_SIZE_RANGE=[0-9,-]*", "PRIMER_PRODUCT_SIZE_RANGE=500-1000", s)

在這里,s將是文本文件中的整個字符串。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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