我正在尝试从ftp站点下载一个.zip文件,(独立于错误工作),我正在一个目录中创建一个文件夹,其名称中包含当前日期。我希望将下载的zip文件放在新创建的文件夹中。我的代码如下。
import os
import urllib
import datetime
now = datetime.datetime.now()
situs = "ftp://pbcgis:sigcbp@ftp.co.palm-beach.fl.us/CWGIS/SITUS_PUB.zip"
path = os.path.join(r"Y:\JH_Data_Dump\SITUS\PBC_SITUS" + str(now.month) + "_" + str(now.day) + "_" + str(now.year))
path1 = os.path.join(path + "PBC_SITUS" + str(now.month) + "_" + str(now.day) + "_" + str(now.year) +".zip")
print "Creating new directory..."
os.makedirs(path)
print "beginning PBC SITUS Download..."
urllib.urlretrieve(situs, path1)
我没有错误,文件下载成功,但它没有将.zip放入我新创建的文件夹中,它将其放在与文件夹相同的目录中,但不在里面。
答案 0 :(得分:2)
您错误地使用os.path.join
。路径段 - 目录和文件名 - 是不同的参数。它们使用路径分隔符加入,\
或/
。
path = os.path.join('Y:', "PBC_SITUS123")
path1 = os.path.join(path, "PBC_SITUS123" + ".zip")
将导致Y:\PBC_SITUS123\PBC_SITUS123.zip
答案 1 :(得分:0)
我弄明白为什么,我错过了一个" \"在path1字符串
中应该是:
path1 = os.path.join(path + r"\PBC_SITUS" + str(now.month) + "_" + str(now.day) + "_" + str(now.year) +".zip")