2014-04-23 45 views
2

腳本從前一個網頁接收兩個變量。代碼從這些變量中確定需要哪些圖像。它將這些圖像發送到一個臨時文件夾,拉上該文件夾並將其放在輸出文件夾中以便拾取。這是南下的地方。我試圖讓網頁提供一個按鈕供用戶點擊並下載zip文件。由於zip文件的名稱需要根據腳本收到的變量進行更改,因此我不能僅製作一個通用鏈接到zip文件。字符串替換不適用於html插入

import arcpy, sys, shutil, os 
path = "C:/output/exportedData/raw/" 
pathZip = "C:/output/exportedData/zip/" 

#First arg is the mxd base filename which is the same as the geodatabase name 
geodatabaseName = "C:/output/" + sys.argv[1] + ".gdb" 

#this is where the images are determined and sent to a folder 

zipFileName = sys.argv[1] 
zipFile = shutil.make_archive(path + zipFileName,"zip") 
movedZip = os.rename(zipFile, pathZip + zipFileName + ".zip") 
shutil.rmtree(path + zipFileName) 
print """<h3><a href="{}">Download zip file</a></h3>""".format(movedZip) 

最後一行指示存在問題的切入點。Firebug的指示作出的鏈接

<a href="None">Download zip file</a> 

的字符串替換不是在這種情況下工作,我在茫然,爲什麼。預先感謝您提供的任何幫助。

回答

2

os.rename()不返回任何東西,這意味着movedZip變成None

這裏就是你可能想要做的,而不是:

movedZip = pathZip + zipFileName + ".zip" 
os.rename(zipFile, movedZip) 
+0

啊,非常好。這工作。謝謝。但是,現在,當我點擊鏈接時,它沒有迴應。當我將鼠標懸停在鏈接上時,顯示的地址爲「file:/// C:output/exportedData/zip/zippedfile.zip」。我需要以某種方式修剪輸入變量嗎? – Iakona

+0

@Iakona你想要的鏈接文字是什麼? – alecxe

0

的os.rename方法不返回任何值。你可以看到官方文件here。它將文件或目錄src重命名爲dst。可能會拋出一些異常。但沒有任何回報。

相關問題