第一次開發出來相對比較成功的APP = =嗯 這篇文章用來記錄下開發過程中遇到的一些問題以及解決方法
1.配置文件存儲
其實一開始是沒有打算要建立一個配置文件的,直接修改程序來設置用戶名密碼的,不過後來在和rexavin的討論中說到這裏,說用戶體驗性可能會差很多,于是乎就選擇建立一個配置文件,最初的配置文件就是直接f = open(‘fanfou.conf’,’w’) 了。。結果寫好之後發現 是在當前工作目錄下創建 fanfou.conf,于是決定轉移到 ~/.fanfouconf …但是糾結于如果獲取 ~ 的位置,在open中直接寫 f = open(‘~/.fanfouconf’,’w’) 失敗 後來搜索到
1
| |
這樣一條語句,得以解決,不過這個也決定了這個程序只能在linux/mac下運行。。。
2.xml文件解析
呃 這個看起來很簡單,在php裏面是個非常簡單的事情,不過現在用的是python,所以開始瘋狂Google,Google到了很多東西,不過要麽是不理解,要麽就是用不成,後來找到minidom看起來還靠譜,就去試了下,不過 一開始一直import不進來,我還以為是我這個版本的Python不支持minidom了。。。後來找到原因是因為我測試用的文件名是xml.py… 然後我import xml.dom.minidom …….然後就發生錯誤了。。。這個的其他方面沒有什麽好說的 網上關于這個的資料有很多。。
3.同時在兩個數組裏面用for
呃 這個小標題有點表述不清,一般而言,Python中的for 是 for XXX in Array 這樣的形式,來遍歷整個數組,不過我現在想讓他同時遍歷兩個數組,查到了zip函數,直接看代碼把:
1 2 | |
就是這樣子,其他同樣沒有神馬好說的
4.模擬HTML表單上傳圖片
後來想做圖片上傳功能,就跑去研究這個了,發現關于這方面的資料好少, 不過最終在StackOverflow上找到了一篇提問,回答者給出了一個urllib2的擴展庫 urllib2_file.py ,加上這個之後,即可直接進行文件上傳,果斷保存下來適用,很方便~
示例代碼
1 2 3 4 5 6 7 8 9 | |
5.檢測文件類型
圖片上傳的時候要判斷一下文件類型,以防上傳上什麽亂七八糟的東西,判斷文件類型就不得不說MIME,關于MIME具體的解釋請看維基百科。
具體方法是用python-xdg庫來判斷,代碼實現:
1 2 3 | |
不過這個方法沒有找到如何判斷MIME類型,給出一個思路是把xdg.Mime.get_type得到的MIMEtype對象轉化為字符串,然後用xx.index(‘image’) 來判斷是否是圖片,同時又搜到另外一種方法,mimetypes庫,代碼實現:
1 2 3 4 5 6 | |