Time of Update: 2017-01-18
這是去年畢設做的一個Web漏洞掃描小工具,主要針對簡單的SQL注入漏洞、SQL盲注和XSS漏洞,代碼是看過github外國大神(聽說是SMAP的編寫者之一)的兩個小工具源碼,根據裡面的思路自己寫的。以下是使用說明和原始碼。一、使用說明:1.運行環境:Linux命令列介面+Python2.72.程式源碼:Vim scanner//建立一個名為scanner的檔案Chmod a+xscanner//修改檔案許可權為可執行檔3.運行程式:Python
Time of Update: 2017-01-18
對於web開來說,使用者登陸、註冊、檔案上傳等是最基礎的功能,針對不同的web架構,相關的文章非常多,但搜尋之後發現大多都不具有完整性,對於想學習web開發的新手來說就沒辦法一步一步的操作練習;對於web應用來說,包括資料庫的建立,前端頁面的開發,以及中間邏輯層的處理三部分。本系列以可操作性為主,介紹如何通過django web架構來實現一些簡單的功能。每一章都具有完整性和獨立性。使用新手在動手做的過程中體會web開發的過程,過程中細節請參考相關文檔。本操作的環境:===============
Time of Update: 2017-01-18
在我們日常上網瀏覽網頁的時候,經常會看到一些好看的圖片,我們就希望把這些圖片儲存下載,或者使用者用來做案頭壁紙,或者用來做設計的素材。我們最常規的做法就是通過滑鼠右鍵,選擇另存新檔。但有些圖片滑鼠右鍵的時候並沒有另存新檔選項,還有辦法就通過就是通過剪取工具截取下來,但這樣就降低圖片的清晰度。好吧~!其實你很厲害的,右鍵查看頁面原始碼。我們可以通過python
Time of Update: 2017-01-18
按單詞反轉字串是一道很常見的面試題。在Python中實現起來非常簡單。def reverse_string_by_word(s): lst = s.split() # split by blank space by default return ' '.join(lst[::-1])s = 'Power of Love'print reverse_string_by_word(s)# Love of Powers = 'Hello World!'print
Time of Update: 2017-01-18
英文文檔:class complex([real[, imag]])Return a complex number with the value real + imag*1j or convert a string or number to a complex number. If the first parameter is a string, it will be interpreted as a complex number and the function must be called
Time of Update: 2017-01-18
解決思路首先想到的就是利用 python 的Regex來匹配非法字元,然後找出非法記錄。然而理想總是豐滿的,現實卻是殘酷的。在實現的過程中,才發現自己對於字元編碼、以及 python 內部字串表示的相關知識的缺乏。在這期間,踩過了不少坑,到最後雖然還有些模糊的地方,但總算有一個總體清晰的瞭解。在此記錄下心得,避免以後在同一個地方跌倒。以下的測試環境是 ArcGIS 10.3 內建的 python 2.7.8 環境,不保證其他 python 環境也適用。python Regexpython
Time of Update: 2017-01-18
需求背景最近為公司開發了一套郵件日報程式,郵件一般就是表格,圖片,然後就是附件。附件一般都是預設寫到txt檔案裡,但是PM希望郵件裡的附件能直接用Excel這種軟體開啟,最開始想儲存為Excel,但是一想Excel的檔案體積會多出好多倍,csv檔案預設也是使用Excel開啟的,但是根本還是文字檔,體積小,儲存也方便,於是最終決定使用csv模組來儲存檔案。Python寫csv檔案Python提供了內建模組讀寫csv檔案,這裡我只用到了寫,讀這裡就不做介紹了,也不難,主要是解決亂碼問題。def
Time of Update: 2017-01-18
前言眾所周知Python不像JS或者PHP這種弱類型語言裡在字串串連時會自動轉換類型,如果直接將字串和數字拼接會直接報錯。如以下的代碼:# coding=utf8str = '你的分數是:'num = 82text = str+num+'分 | 瓊台部落格'print text執行結果直接報錯:TypeError: cannot concatenate 'str' and 'int' objects解決這個方法只有提前把num轉換為字串類型,可以使用bytes函數把int型轉換為string型。
Time of Update: 2017-01-18
首先第一步,開啟檔案,有兩個函數可供選擇:open() 和 file()①. f = open('file.txt',‘w') ... file.close() ②. f = file('file.json','r') ...file.close()#記得開啟檔案時最後不要忘記關閉!open() 和 file()
Time of Update: 2017-01-18
所謂類屬性的延遲計算就是將類的屬性定義成一個property,只在訪問的時候才會計算,而且一旦被訪問後,結果將會被緩衝起來,不用每次都計算。優點構造一個延遲計算屬性的主要目的是為了提升效能實現class LazyProperty(object): def __init__(self, func): self.func = func def __get__(self, instance, owner): if instance is None: return self
Time of Update: 2017-01-18
首先來看一個小程式,這個是計量所花費時間的程式,以下是以往的解決樣本from functools import wraps, partialfrom time import timedef timing(func=None, frequencies=1): if func is None: # print("+None") return partial(timing, frequencies=frequencies) # else: # print("-None")
Time of Update: 2017-01-18
文本:每行在promotion後麵包含一些數字,如果這些數字是相同的,則認為是相同的行,對於相同的行,只保留一行。思路:根據字典和字串切割。建立一個空字典。讀入文本,並對每行切割前半部分,在讀入文本的過程中迴圈在這個字典中尋找,如果沒找到,則寫入該行到字典。否則,則表示該行已經被寫入過字典了(即出現重複的行了),不再寫入字典,這就實現了對於重複的行只保留一行的目的。文本如下:/promotion/232 utm_source/promotion/237
Time of Update: 2017-01-18
錯誤提示如下:其實這是一個挺常見的系統報錯,缺乏VC++庫。我安裝的是python3.5.2,這個版本需要的vc版本是2015的了,下載:Microsoft Visual C++ 2015安裝完後發現就正常了:總結通過以上的方法就能輕鬆解決首次安裝Python後運行報錯的問題,希望本文的內容對同樣遇到這個問題的朋友們能有所協助,如果有疑問大家可以留言交流,小編會儘快給大家回複。
Time of Update: 2017-01-18
單繼承時super()和__init__()實現的功能是類似的class Base(object):def __init__(self):print 'Base create'class childA(Base):def __init__(self):print 'creat A ',Base.__init__(self)class childB(Base):def __init__(self):print 'creat B ',super(childB,
Time of Update: 2017-01-18
最近在做Python 的項目,特地整理了下 Python 序列的方法。序列sequence是python中最基本的資料結構,本文先對序列做一個簡單的概括,之後簡單講解下所有序列都能通用的操作方法。任何序列都可以引用其中的元素(item).下面的內建函數(built-in function)可用於列表(表,定值表,字串)#s為一個序列 len(s) 返回: 序列中包含元素的個數
Time of Update: 2017-01-18
最近,做個小項目經常會遇到Python 的異常,讓人非常頭疼,故對異常進行整理,避免下次遇到異常不知所措,以下就是對Python 異常進行的整理。1.Python異常類 異常 描述 NameError 嘗試訪問一個沒有申明的變數 ZeroDivisionError 除數為0
Time of Update: 2017-01-18
隊列特性:先進先出(FIFO)——先進隊列的元素先出隊列。來源於我們生活中的隊列(先排隊的先辦完事)。Queue模組最常與threading模組一起構成生產-消費者模型,提供了一個適用於多線程編程的先進先出的資料結構,即隊列。該模組源碼中包含5個類:其中,Empty和Full是兩個異常類,當隊列的Queue.get(block=0)或者調用get_nowait()時,如果隊列為空白,則拋EmptyException異常。 同理,當隊列的Queue.put(block=0)或者調用put_no
Time of Update: 2017-01-18
os模組提供了對目錄或者檔案的建立/刪除/查看檔案屬性,還提供了對檔案以及目錄的路徑操作。比如說:絕對路徑,父目錄……os.sep可以取代作業系統特定的路徑分隔字元。windows下為 “\\”,Linux下為"/"os.linesep字串給出當前平台使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。os.pathsep
Time of Update: 2017-01-18
最近在自學Python語言,看到向列表增加更多資料時被append(),extend(),insert()方法繞暈了。append 和extend都只需要一個參數,並且自動添加到數組末尾,如果需要添加多個,可用數組嵌套,但是
Time of Update: 2017-01-18
在Python我們要判斷一個檔案對目前使用者有沒有讀、寫、執行許可權,我們通常可以使用os.access函數來實現,比如:# 判斷讀許可權os.access(<my file>, os.R_OK)# 判斷寫入權限os.access(<my file>, os.W_OK)# 判斷執行許可權os.access(<my file>, os.X_OK)# 判斷讀、寫、執行許可權os.access(<my file>, os.R_OK | os.W_OK |