當前位置:首頁 » 編程語言 » pythonsimple

pythonsimple

發布時間: 2022-11-15 07:02:17

⑴ 請問python建立simplehttpserver伺服器的時候為什麼會卡住

正常,這才是伺服器
首先確保裝了Python,我裝的是2.x版本,對了,我的操作系統是WIN7,其實對於Python來說,什麼操作系統並不重要。Python內置了一個簡單的HTTP伺服器,只需要在命令行下面敲一行命令,一個HTTP伺服器就起來了:
python -m SimpleHTTPServer 80

後面的80埠是可選的,不填會採用預設埠8000。注意,這會將當前所在的文件夾設置為默認的Web目錄,試著在瀏覽器敲入本機地址:

如果當前文件夾有index.html文件,會默認顯示該文件,否則,會以文件列表的形式顯示目錄下所有文件。這樣已經實現了最基本的文件分享的目的,你可以做成一個腳本,再建立一個快捷方式,就可以很方便的啟動文件分享了。如果有更多需求,完全可以根據自己需要定製,具體的請參見官方文檔SimpleHTTPServer,或者直接看源碼。我拷貝一段,方便參考:
import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

如果你想改變埠號,你可以使用如下的命令:

python -m SimpleHTTPServer 8080

如果你只想讓這個HTTP伺服器服務於本地環境,那麼,你需要定製一下你的Python的程序,下面是一個示例:

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"

if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()

注意:所有的這些東西都可以在 Windows 或 Cygwin 下工作。
您可能感興趣的文章:

⑵ python中,simple_markup.py等文件建好後調用時語法錯誤如圖

  1. 上述命令應該是在操作系統的命令行里執行的,而不是在python命令行里

  2. <test_input.txt> 實際是沒有尖括弧的,應該換成一個真實的文件路徑

⑶ python simple_markup.py <TestFileBase.txt> test_output.html,為什麼自動輸出到文件中

和標准輸入輸出有關,這個是shell的功能

python test.py > output.txt 就可以了

< 是輸入的意思, > 是輸出的意思

⑷ python pysimplegui 文本框輸入內容,如何將輸入的內容保存到txt文件中

試試這個:
#1、導入庫
import PySimpleGUI as sg
#2、定義布局,確定行數
layout=[
[sg.Text('文本框',size=(0,1)),sg.InputText()],
[sg.Button('保存')]
]
#3、創建窗口
window=sg.Window('Python GUI',layout)
#4、時間循環
while True:
event,values=window.read()
if event==None:
break
if event=='保存':
print('values:',values[0])
file=open(r"練習.txt","a")
file.write(values[0])
file.close()
#5、關閉窗口
window.close()

⑸ 常用的python庫有哪些

10個頂級且實用的python庫

1、Dash

Dash是比較新的軟體包,它是用純python構建數據可視化app的理想選擇,因此特別適合處理數據的任何人。Dash是Flask、Plotly.js和React.js的混合體。

2、Pygame

Pygame是SDL多媒體庫的python裝飾器,SDL是一個跨平台開發庫,旨在提供對以下內容的低級介面:音頻、鍵盤、滑鼠、游戲桿、基於OpenGL和Direct3D的圖形硬體。

Pygame具有高度的可移植性,幾乎可以在所有平台和操作系統上運行。盡管它具有完善的游戲引擎,但您也可以使用此庫直接從python腳本播放MP3文件。

3、Pillow

Pillow專門用於處理圖像,您可以使用該庫創建縮略圖,在文件格式之間轉換、旋轉、應用濾鏡、顯示圖像等等。如果您需要對許多圖像執行批量操作,這是理想的選擇。

4、Colorama

Colorama允許你在終端使用顏色,非常適合python腳本,文檔簡短而有趣,可以在Colorama PyPi頁面上找到。

5、JmesPath

在python中使用JSON非常容易,因為JSON在python字典上的映射非常好。此外,python帶有自己出色的json庫,用於解析和創建JSON。對我來說,這是它最好的功能之一,如果我需要使用JSON,可以考慮使用python。

JmesPath使python處理JSON更加容易,它允許您明確地指定如何從JSON文檔中提取元素。

6、Requests

Requests建立在世界上下載量最大的python庫urllib3上,它令Web請求變得非常簡單,功能強大且用途廣泛。

Requests可以完成您能想到的所有高級工作,比如:認證,使用cookie,執行POST、PUT、DELETE等,使用自定義證書,使用會話Session、使用代理等。

7、Simplejson

python中的本地json模塊有什麼問題?沒有!實際上,python的json是Simplejson。意思是:python採用了Simplejson的一個版本,並將其合並到每個發行版中,但是使用Simplejson具有一些優點:它適用於更多python版本、它比python隨附的版本更新頻率更高、它具有用C編寫的部分,因此非常快速。

8、Emoji

Emoji庫非常意思,但並非每個人都喜歡表情包,分析視角媒體數據時,Emoji包非常有用。

9、Python-dateutil

Python-dateutil模塊提供了對標准datetime模塊的強大擴展。我的經驗是:常規的python日期時間功能在哪裡結束,而Python-dateutil就出現了。

10、BeautifulSoup

如果您從網站上提取了一些HTML,則需要對其進行解析以獲取實際所需的內容。BeautifulSoup是一個python庫,用於從HTML和XML文件中提取數據。它提供了導航,搜索和修改解析樹的簡單方法。它非常強大,即使損壞了,也能夠處理各種HTML,這是一個非常強大的功能。

它的一些主要功能:

①BeautifulSoup會自動將傳入文檔轉換為Unicode,將傳出文檔轉換為UTF-8,您無需考慮編碼。

②BeautifulSoup位於流行的python解析器的頂部,使您可以嘗試不同的解析策略或提高靈活性。

⑹ Python 包管理工具

  Python之所以受歡迎不光是因為它簡單易學,更重要的是它有成千上萬的寶藏庫。這些庫相當於是已經集成好的工具,只要安裝就能在Python里使用。它們可以處理各式各樣的問題,無需你再造輪子,而且隨著社區的不斷更新維護,有些庫越來越強大,幾乎能媲美企業級應用。那麼這些工具庫怎麼下載安裝呢?它們被放在一個統一的「倉庫」里,名叫PyPi(Python Package Index),所有的庫安裝都是從這里調度。有了倉庫之後,還需要有管理員,pip就是這樣一個角色。

  pip 是 Python 中的標准庫管理器,這意味著它是一個工具,用它可以來管理 Python 標准庫中其他的包,允許你安裝和管理不屬於 Python 標准庫的其它軟體包,其提供了對 Python 包的查找、下載、安裝、卸載等功能。總的來說,pip的Python第三方庫的大管家,搞懂它,會讓你省很多事。從Python 3 >= Python 3.4 、Python2 >= Python2.7.9 版本開始,pip默認包含在Python的安裝程序中,在安裝Python時將會自動被安裝,省事方便。

  Python 的安裝器中自帶了 pip,所以你可以直接使用它,除非你安裝的是更早版本的 Python。你可以通過以下命令來判斷是否已安裝:

如果你的 Python 環境沒有安裝 pip,則可以使用以下方法來手動安裝。pip 安裝文件下載: pypi.org/project/pip…

pip提供的命令不多,但是都很實用

  pip命令默認使用的是國外的pypi鏡像(pypi.python.org),安裝慢不說,有時甚至會導致出現超時等網路問題,有時候為了安裝一個包,失敗重試安裝好幾次都不一定成功。所以,使用國內的pypi鏡像,亦即 切換 pip 源 ,這樣速度上更有保證,不失為一種加速pip安裝第三方包的好方法。常用的鏡像站有阿里雲、清華大學等。其中清華大學開源軟體鏡像站是每 5 分鍾同步一次的,比較推薦使用。阿里雲鏡像站的速度也非常快,這也是我現在在使用的。

  切換切換 pip 源可以是臨時性的,也可以設置為默認。臨時性的,就是在安裝包時,通過pip命令的 -i 選項指定鏡像源即可。例如,臨時使用阿里雲鏡像站作為 pip 源,可以是這樣安裝:

  如果每次安裝時都想要通過鏡像源來安裝,上面的辦法不免有些麻煩。我們可以修改pip的配置文件,將鏡像源寫入到 pip 配置文件中。 對於linux系統 ,修改 ~/.pip/pip.conf 文件 (沒有就創建一個文件夾及文件,文件夾要加「.」,表示是隱藏文件夾):

然後在文件中保存如下內容:

   對於windows系統 ,在C:Users文件夾下的用戶目錄(例如如果當前用戶是Administrator則是C:UsersAdministrator)下創建pip文件夾,然後再在此文件夾下創建pip.ini文件,在文件中寫入一下內容:

  配置完成後再通過 pip config list 查看pip配置。

  我們經常會遇到這樣的開發需求,比如你手頭有多個開發項目,其中項目A要求用python3.7,項目B需要用python3.6,有要求項目A和項目B依賴包相互獨立,互不幹擾。為了滿足這樣的開發需求,我們需要在自己的電腦上安裝多個Python版本,並且項目之間進行環境隔離。因此,我們要想運行這些項目,在工作電腦上就要安裝不同版本的Python。 pyenv 是Python版本管理工具,通過系統修改環境變數來實現Python不同版本的切換,利用它可以在同一台電腦上安裝多個版本的Python,設置目錄級別的Python,還能創建和管理vitual python enviroments。而且所有的設置都是用戶級別的操作,不需要sudo命令。

  首先安裝pyenv,如果你是Mac電腦,那麼推薦使用Homebrew來安裝。

要想升級pyenv,則可以執行:

pyenv安裝完成後,需要將$HOME/.pyenv/bin添加到PATH變數前面,這一步非常關鍵。

也可以採用手動安裝的方式,將pyenv檢出到你想安裝的目錄。

  添加環境變數,將PYENV_ROOT 指向 pyenv 檢出的根目錄,並向 $PATH 添加 $PYENV_ROOT/bin 以提供訪問 pyenv命令的路徑。這里的 shell 配置文件(~/.bash_profile)依不同系統而需作修改,如果使用 Zsh 則需要相應的配置 ~/.zshrc
在使用 pyenv 之後使用 pip 安裝的第三方模塊會自動安裝到當前使用 python 版本下,不會和系統模塊產生沖突。使用 pip 安裝模塊之後,如果沒有生效,記得使用 pyenv rehash 來更新。

安裝完pyenv,可以安裝Python,首先查看可安裝的Python版本:pyenv install -l,接下來開始安裝Python

執行命令 pyenv versions 查看安裝結果。

可以看到,已經成功安裝了Python,安裝的位置在 /Users/dllwh/.pyenv。

可以看到,3.9.9 前面有一個星號,說明成功切換到了 3.9.9 版本,可以執行一下python來驗證。

  Pipenv 是 Python 官方推薦的包管理工具,它綜合了 virtualenv、pip 和 pyenv 三者的功能,你可以使用 pipenv 這一個工具來安裝、卸載、跟蹤和記錄依賴性,並創建、使用和組織你的虛擬環境。

如果你是Mac電腦,那麼推薦使用Homebrew來安裝和升級pipenv:

也可以通過pip來安裝和升級pipenv:

進入到項目目錄中,通過下面的指令為項目創建虛擬環境。

  上面的操作,給pipenv_demo這個項目初始化了一個 Python 3.9.9 的虛擬環境,並在項目錄下生成一個項目依賴包文件 Pipefile。如果系統中沒有 3.9.8 版本的Python,pipenv 會調用 pyenv 來安裝對應的 Python 的版本。默認地,虛擬環境會創建在 ~/.local/share/virtualenvs目錄裡面。我們也可以通過 pipenv --venv查看項目的虛擬環境目錄。可以通過 pipenv --rm 刪除虛擬環境。
如果想更改虛擬環境的目錄,可以在 .bashrc 或 .bash_profile 中,設置環境變數WORKON_HOME,指定虛擬環境的目錄所在位置,比如想將虛擬環境放到~/.venvs目錄,則可以執行下面的命令。

如果希望在項目目錄下創建虛擬環境目錄(.venv),需要在 .bashrc 或 .bash_profile 中配置環境變數PIPENV_VENV_IN_PROJECT:

  pipenv使用 Pipfile 和 Pipfile.lock 來管理依賴包,並且在使用pipenv添加或刪除包時,自動維護 Pipfile 文件,同時生成 Pipfile.lock 來鎖定安裝包的版本和依賴信息。相比pip需要手動維護requirements.txt 中的安裝包和版本,具有很大的進步。

  為項目安裝依賴包到虛擬環境中,使每個項目擁有相互獨立的依賴包,是非常不錯的Python的開發實踐。安裝依賴包到虛擬環境中的方法:

執行完上面的命令後,檢查一下是否安裝成功:

  觀察項目的根目錄下,又多了一個 Pipfile.lock 文件。這兩個文件記錄了此項目的依賴包,這兩個文件的區別是 Pipfile 中安裝的包不包含包的具體版本號,而Pipfile.lock 是包含包的具體的版本號的。如果不想產生 Pipfile.lock 文件,在安裝依賴包的時候,加上 –skip-lock 選項即可。
在使用pipenv的時候,常常會安裝過程比較慢,這個是因為pipenv創建的 Pipfile 中默認的Pypi源是python官方的 pypi.python.org/simple。我們國內…

  為了避免每次都要指定–pypi-mirror,我一般會在創建好Pipfile以後,將文件中 source 塊下的 url 欄位,設置為國內的 pypi 源,我推薦的是清華的Pypi源或者阿里源,具體設置如下:

如果是要刪除虛擬環境中的第三方包,執行:

用git管理項目時候,要把Pipfile和Pipfile.lock加入版本跟蹤。這樣clone了這個項目的同學,只需要執行:

就可以安裝所有的Pipfile中 [packages]部分列出來的包了,並且自動為項目在自己電腦上創建了虛擬環境。

上面的方法都是安裝Pipfile中列出來的第三方包的最新版本,如果是想安裝Pipfile.lock中固定版本的第三方依賴包,需要執行:

如果項目之前使用requirements.txt來管理依賴的,那麼使用pipenv安裝所有依賴可以採用類似pip的方法:

  虛擬環境創建好了之後,就可以在裡面進行開發了。如果在命令行下開發,則在項目目錄下執行 pipenv shell ,就進入到了虛擬環境中,在這個環境中,已經包含安裝過的所有依賴包了,接下來就可以利用這些依賴包進行開發工作了。如果是用Pycharm進行開發,就更簡單了,直接用Pycharm打開項目即可。可以從Pycharm中的左側導航欄裡面看到External Libraries顯示的是虛擬環境中的Python解釋器了。
在虛擬環境中執行開發好的程序,有兩種方式,一種是前面提到的先執行pipenv shell進入到虛擬環境後,再執行python程序;另一種方式,則是執行pyenv run,比如在虛擬環境中執行基於pytest框架編寫的測試用例,只需要執行下面的命令即可:


作者:獨淚了無痕
鏈接:https://juejin.cn/post/7063699409703272485

熱點內容
腳本四要素 發布:2025-01-13 02:40:18 瀏覽:929
編譯過程序後無法運行 發布:2025-01-13 02:40:16 瀏覽:306
c語言8位元組 發布:2025-01-13 02:38:51 瀏覽:707
ps3iso文件夾 發布:2025-01-13 02:10:09 瀏覽:291
從qq里如何看到自己的登錄密碼 發布:2025-01-13 02:10:01 瀏覽:433
文明重啟為什麼會有伺服器維護 發布:2025-01-13 02:00:14 瀏覽:353
凈值人群怎麼配置資產 發布:2025-01-13 01:42:07 瀏覽:463
android顯示時間 發布:2025-01-13 01:42:06 瀏覽:5
php微信公眾號開發教程 發布:2025-01-13 01:39:28 瀏覽:191
傳奇攻倍腳本 發布:2025-01-13 01:28:58 瀏覽:511