日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现文件共享_改进的一行Python实现文件共享--支持并发

發布時間:2025/4/5 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现文件共享_改进的一行Python实现文件共享--支持并发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SimpleHTTPServer是python自帶的一個簡單的靜態HTTP服務器, python2.x下只要切換到想要共享的目錄簡單地輸入下面的命令,就可以打開該HTTP服務器:

python -m SimpleHTTPServer [port]

其中,port是可選參數,用于指定使用的端口,默認使用的是8000端口。

在python3.x中,SimpleHTTPServer模塊被合并進了http.server模塊中,所以,python3.x中命令略有不同:

python3 -m http.server [port]

打開服務器之后,只需在任何局域網設備瀏覽器中輸入服務器ip:port就可以查看和下載服務器指定目錄的文件。如下圖所示:

圖1. 瀏覽器展示的文件目錄

這個文件服務器雖然簡單,但卻能充分利用局域網的帶寬,為公司、家庭和學校等場景省去了U盤拷貝文件的煩惱。

當然,正由于簡單它同樣存在著很多缺陷,很重要的一點就是其不支持并發, 即不能同時有多個主機訪問共享的目錄。為了解決這個問題,重寫這個模塊:

python2.x:

#!/usr/bin python#encoding: utf-8

importsocketimportBaseHTTPServerfrom SimpleHTTPServer importSimpleHTTPRequestHandler as SHRHfrom SocketServer importForkingTCPServer as FTSclassForkingHTTPServer(FTS):pass

def main(ServerHandlers = SHRH, ServerClass =ForkingHTTPServer):

BaseHTTPServer.test(ServerHandlers, ServerClass)if __name__ == '__main__':print("Host_address:[%s]" %socket.gethostbyname(socket.gethostname()))

main()

python3.x

#!/usr/local/bin python3#encoding: utf-8

importsocketfrom socketserver importForkingTCPServer as FTSimporthttp.serverfrom http.server importSimpleHTTPRequestHandler as SHRHclassForkHTTPServer(FTS):pass

def test(ServerHandler=SHRH, ServerClass=ForkHTTPServer):

http.server.test(ServerHandler, ServerClass)if __name__ == '__main__':

ip_address=socket.gethostbyname(socket.gethostname())print("Server address:[%s]" %ip_address)

test()

上面的代碼中ServerClass繼承自ForkingTCPServer類,這個類是socketserver模塊中ForkingMixIn和TCPServer的綜合,前者實現了使用分支的方法實現了HTTP服務器的并發功能。

將代碼保存為ForkHTTPServer.py, 然后將其移動至python的庫目錄下(我的python2.7為/usr/lib/python2.7;python3.4為/Library/Frameworks/Python.framework/Versions/3.4/lib),使用如下命令就可以啟動并發版的簡易靜態文件服務器了:)

[python2.7]

python -m ForkHTTPServer [port]

[python3.4]

python3 -m ForkHTTPServer [port]

這個命令還是太麻煩,對于Linux或Mac用戶可以更進一步,為該命令取別名:

vim ~/.bashrc

添加:

[python2.7]

alias share="python -m /usr/lib/python2.7/ForkStaticServer"

[python3.4]

alias share="python3 -m /Library/Frameworks/Python.framework/Versions/3.4/lib/ForkStaticServer"

這樣,只要在終端中輸入“share”命令就可以開去文件服務器了,很方便是吧:-D

總結

以上是生活随笔為你收集整理的python实现文件共享_改进的一行Python实现文件共享--支持并发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲伦理在线观看 | 日本特黄| 国产精品1页 | 国产精品久久久久久久 | 色香蕉视频 | 91亚洲国产成人精品性色 | 日日噜噜噜| 麻豆视频在线观看免费 | 伊伊综合网 | 亚洲av色一区二区三区精品 | 日韩精品视频在线看 | 国产日韩一级 | 无套内谢88av免费看 | 无码国产精品一区二区免费式直播 | 欧美12--15处交性娇小 | 久久在线免费观看视频 | 欧美一级做| 久久久久久久久久成人 | 欧美aa在线 | 国产精品亚洲第一 | 亚洲久久天堂 | 欧美亚洲专区 | 黑人与亚洲人色ⅹvideos | 伊人色爱 | 97黄色网| 日本视频在线观看 | 男人插入女人下面的视频 | 久久久久久9 | 97人妻精品一区二区三区动漫 | 日本不卡网站 | 按摩ⅹxxx性hd中国 | 国产精品国产三级国产aⅴ浪潮 | 少女情窦初开的第4集在线观看 | 自拍偷拍欧美亚洲 | 羞羞漫画在线播放 | 欧美日韩亚洲国产一区 | 秋霞在线观看秋 | 干美女av | 久久99国产综合精品免费 | 中文字幕一区二区三区乱码人妻 | 欧美黑人又粗又大高潮喷水 | 69性视频 | 久久色图 | 麻豆tv在线观看 | 亚洲激情社区 | 精品久久9999 | 国产成人av无码精品 | 精品+无码+在线观看 | 久久精品一区二区三区四区 | 国产成人午夜视频 | 少妇免费直播 | 成人av免费观看 | 中文字幕一区二区三区乱码在线 | 国产无码精品在线播放 | 婷婷丁香激情五月 | 中文字幕久久熟女蜜桃 | www.浪潮av.com| 极品白嫩丰满美女无套 | 国产成人综合自拍 | av爱爱| 99精品久久久久久 | 大陆一级黄色片 | 粉嫩aⅴ一区二区三区 | 成人日韩欧美 | 97色干| 免费黄色一级视频 | 美女午夜视频 | 天堂av一区 | 久久成人在线 | 欧美视频日韩 | 成人亚洲精品 | 天天槽 | 亚洲成人精品久久 | 在线日韩免费 | 亚洲天堂免费视频 | 在线视频午夜 | 欧美裸体视频 | 日韩av.com| 黄色一级淫片 | 蜜桃久久久 | 在线视频福利 | 有码一区二区 | 玖操| av青青 | 国产免费一区二区三区在线播放 | 国产91高清 | 国模精品一区二区三区 | 中国特级毛片 | 领导揉我胸亲奶揉下面 | 色成人综合网 | 中文无码一区二区三区在线观看 | 91爱爱影院| 九九热8 | 欧美在线免费 | 色哟哟无码精品一区二区三区 | 中文字幕一区二区人妻视频 | 国产性猛交96 | 日韩欧美国产网站 | 91红桃视频 |