2016-02-29 67 views
0

我怎樣才能從我的觸發HTML代碼中使用以下的Python命令移動雖然網站上的文件如何使用背景Python腳本

Import shutil 

src ="C:/Users/Me/Desktop/Index/book1.txt 

dst ="D:/USBPEN" 

shutil.copy(src, dst) 

這隻有在本地工作,我我只是使用HTML網站來創建GUI,我想調用python命令在我的機器上本地移動文件。

我的本地Apache服務器能夠運行的.py

任何人都可以請幫助我這一點。

回答

0

你需要讓你的Python腳本是可執行的,然後你就可以通過Apache CGI,它會執行打電話給你的Python腳本。您需要mod_cgi工作以允許您通過apache運行python腳本。我們來看腳本copy.cgi(你可以將它命名爲.cgi)。第一步是創建一個包含以下內容的文件:

#!/usr/bin/python 

Import shutil 
src ="C:/Users/Me/Desktop/Index/book1.txt 
dst ="D:/USBPEN" 
shutil.copy(src, dst) 

注意在文件#!/usr/bin/python上方的行會向你解釋其中Python是安裝在你的機器上。要找出python的安裝位置,請輸入:

whereis python 

下一步是讓腳本可執行。要做到這一點回到外殼和類型:

chmod +x copy.cgi 

現在你應該能去的網址:http://yourip/copy.cgi和腳本將執行你的機器上。把這個放到你的html裏,你可以像這樣鏈接url:

<a href="http://yourip/copy.cgi">copy</a> 

希望有幫助!

如果您遇到麻煩mod_cgi它可能是更容易使一個包裝PHP腳本,你可以調用隨後調用你的Python腳本。您可以使用以下腳本copy.php執行此操作。

<?php 
// Runs the file copy.py and prints the ouput to the browser. 
echo exec("python /path/to/your/copy.py"); 
?> 

然後,只需轉到網址http://yourip/copy.php。您添加到您的Python腳本的任何打印語句將顯示在瀏覽器中。

+0

感謝您的幫助 我可以看到這是如何想的工作,但它似乎並沒有嘗試它 後也正如你預測我有麻煩與第一種方法,以便嘗試你提到的第二個方法,使用PHP包裝器來運行python的一個 我在htdocs目錄文件中有兩個文件(copy.py和copy.php) 的copy.php由關 <?PHP //運行文件copy.py並將輸出打印到瀏覽器。 echo exec(「python /Users/Me/Desktop/copy.py」); ? > 和我copy.py由 #/ Python27/Python的 進口shutil SRC =「C:/用戶/威爾/桌面/索引/ book1的。txt「 dst =」D:/ ereader「 shutil.copy(src,dst) – Nishi

+0

你能夠在本地運行'python/Users/Me/Desktop/copy.py'嗎? 「;'在你的php腳本中,然後轉到url,看看你是否可以看到'Hello World'來查看它是否是php腳本,你可能需要將python文件移動到你服務apache服務器的目錄中你可以發佈當你運行php腳本的輸出嗎 – swsmith

+0

我得到了這個工作,重複你提供的步驟,我可以點擊我的主頁上的鏈接觸發'copy.php'從http:// localhost/copy.php,它將使用存儲在C:/xampp/htdocs/copy.py中的'copy.py'文件來移動文件。然而,是否有一種方法可以在後臺執行此操作,而不會離開我主要的網頁是在GUI上使用的localhost/EbookLibrary.html。Somethin g,這將允許點擊[Get This Book]按鈕的圖像,觸發此事件? Essentialy: - 的MainPage(點擊獲取圖書按鈕)>觸發PHP>運行PY 不改變頁面 感謝 – Nishi