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

作者: justfor0223 (哭哭)   2016-03-10 22:46:45
※ 引述《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
謝謝
作者: IKAFIRE (沒有)   2016-03-10 23:13:00
他講的第五點就是你要的
作者: Neisseria (Neisseria)   2016-03-10 23:23:00
感謝 I 大補充說明
作者: octantis (@.@)   2016-03-10 23:52:00
如果不是ini格式(無section), 該怎麼解析? 當字串硬拆?還是有其他Module可以解析?因為我試無Section時使用configparser會跳出Exception
作者: Neisseria (Neisseria)   2016-03-11 07:00:00
如果確定只有 = 也可考慮用 regex 硬拆不過要考慮各種情形,例如值為空值時,要另寫條件
作者: octantis (@.@)   2016-03-11 09:39:00
感謝
作者: mars90226 (火星人)   2016-03-11 11:03:00
https://wiki.python.org/moin/Templating我覺得你在找這樣的東西

Links booklink

Contact Us: admin [ a t ] ucptt.com