Re: [問題] 有關於寫檔及取代問題

看板Python作者 (哭哭)時間9年前 (2016/03/10 22:46), 編輯推噓4(406)
留言10則, 4人參與, 最新討論串3/3 (看更多)
※ 引述《Neisseria (Neisseria)》之銘言: : ※ 引述《justfor0223 (哭哭)》之銘言: : : hi 大家好 : : 小弟為python新手,最近想要用python來跟html做結合 : : 由於小弟會去parse在html上面的資訊來取代既有檔案的內容 : : 範例 : : 123.txt內容如下 : : abc = 12345 : : def = 543210 : : 假設從網頁上我會取得name=abc的值->hi 及name=def的值->(沒有填入) : : 因此我想讀檔讓abc = hi 及 def = 543210 然後 在寫回去檔案 : 可能要再多講講寫這樣子的程式的出發點是什麼 : 或許有其他替代的想法和做法也說不定 : 假設我們很確定我們就是要寫一支這樣的程式 : 可能還是要將動作拆解,想一下那一個步驟不會寫 : 1. 用程式抓網頁,可能會用 requests : http://docs.python-requests.org/en/master/ : 2. 解析網頁,可能會用 BeautifulSoup : http://www.crummy.com/software/BeautifulSoup/ : 3. 解析本機上的檔案 : 不確定你本機檔案的格式,看起來像 INI,可能會用 ConfigParser : https://docs.python.org/2/library/configparser.html : 4. 自行寫程式碼,將本機檔案的值用網頁取得的值取代掉 : 5. 再用 ConfigParser 將更新後的值覆蓋原檔案或寫入新檔案 : 試著做做看吧,再看那一步不會,然後再到版上討論 我說明可能沒有很清楚,我在嘗試說明更清楚 先不要管網頁的事情好了 目前有一個123.txt的檔案 123.txt內容如下(由於之前推文有人提到def會搞混,因此名詞有調整過) first = 12345 second = 54321 我目前想要用python所達到的功能如下 使用者想要first的值為hi 所以要讀123.txt的內容且將first = 12345 改成 first = hi 再寫檔到123.txt變成 first = hi second = 54321 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.198.184 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1457621208.A.84F.html

03/10 23:13, , 1F
他講的第五點就是你要的
03/10 23:13, 1F

03/10 23:23, , 2F
感謝 I 大補充說明
03/10 23:23, 2F

03/10 23:52, , 3F
如果不是ini格式(無section), 該怎麼解析? 當字串硬拆?
03/10 23:52, 3F

03/10 23:53, , 4F
還是有其他Module可以解析?因為我試無Section時使用
03/10 23:53, 4F

03/10 23:54, , 5F
configparser會跳出Exception
03/10 23:54, 5F

03/11 07:00, , 6F
如果確定只有 = 也可考慮用 regex 硬拆
03/11 07:00, 6F

03/11 07:04, , 7F
不過要考慮各種情形,例如值為空值時,要另寫條件
03/11 07:04, 7F

03/11 09:39, , 8F
感謝
03/11 09:39, 8F

03/11 11:03, , 9F

03/11 11:04, , 10F
我覺得你在找這樣的東西
03/11 11:04, 10F
文章代碼(AID): #1MuOZOXF (Python)
文章代碼(AID): #1MuOZOXF (Python)