使用python共享檔案

2021-08-04 17:09:11 字數 3348 閱讀 8826

當我們想要將自己電腦上面當檔案共享出去時,往往會通過設定共享資料夾或者使用第三方軟體等方式來實現。這麼做的缺點在於,操作繁瑣,而且不同系統下的操作方式也不一樣,很不方便。那有沒有一種通用的,快捷的共享檔案方式呢?答案是肯定的,通過python,我們可以輕易的實現這一點。

[port]上述命令可以將當前目錄作為乙個檔案伺服器,伺服器位址為你的ip:[port]。port引數可不填,預設埠為8000。因此,在同一區域網下,別人就可以通過你的ip:[port]這個位址訪問到你當前資料夾下的所有檔案。

那每次都要輸入這個命令,還是很麻煩的。為此,我們可以給這命令設定乙個簡單又好記的別名,就叫它share好了。

mac/linux下:

開啟 ~/.bashrc檔案,在最後一行加上:

alias share="python -m ******httpserver"
儲存退出後,執行source ~/.bashrc即可。以後再想共享檔案,只需要cd到指定目錄,輸入share命令就可以了,是不是很方便呢!

windows使用者設定別名稍微有點麻煩:

在你喜歡的地方新建乙個檔案,將它命名為env.bat或者其他你喜歡的名字.bat,輸入如下內容:

@echo

offdoskey share=python -m ******httpserver

然後在登錄檔hkey_current_user\software\microsoft\command processor下面加一項autorun,把值設為你的指令碼路徑。

或者新建檔案auto.reg,輸入以下命令:

windows registry editor version

5.00

[hkey_current_user\software\microsoft\command processor]

"autorun"="%userprofile%\\env.bat"

具體可參考windows系統如何給命令起別名?上述內容操作完畢後,即可像mac/linux系統一樣,在指定目錄輸入share命令即可共享該資料夾下的所有內容。

通過這種方式最終在控制台顯示的內容為:

如果給別人共享檔案,此時還需要另外查詢一次本機ip,比較繁瑣。

[port]這行命令呼叫了******httpserver模組的main()方法。我們進入到該類中:

test()發現它最終呼叫了basehttpserver類的test方法,繼續跟進去:

httpd.serve_forever()可以看到我們控制台列印的內容就在**的倒數第二行。下述**可以獲取本機ip:

myname = socket.getfqdn(socket.gethostname())

myaddr = socket.gethostbyname(myname)

print myaddr

因此我們只需要將**修改為下述這種即可:

httpd.serve_forever()此時再在控制台輸入」share」命令,即可列印本機ip。

hgfs共享使用檔案

假設你在虛擬機器裡安裝redhat linux,那麼windows叫做host系統,linux叫做guest系統,其他的模式類似。vmware tools是vmware自帶的工具,在guest作業系統上安裝了這個工具可以優化圖形顯示 方便windwos與linux檔案共享。例如,未安裝vmware ...

python多模組檔案共享變數

有多個檔案,在任意乙個檔案中修改,在其他檔案中訪問的都是修改之後的值 1 用乙個檔案儲存變數 這個思路沒問題,但在乙個檔案中修改後,在另乙個檔案中訪問時還是原來的內容。定義檔案a.py x 0b.py import a a.x 10 執行該檔案c.py import a print a.x 執行結果...

linux 使用samba進行共享檔案

1 開啟samb的配置目錄 vim etc samb smb.conf 2 新增乙個共享的目錄,在smb.conf最後行,新增下面 public comment public path var www write list root 寫檔案使用者 read list root 讀檔案使用者 3 下面...