0

我正在尝试从 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 放入我新创建的文件夹中,而是将其放置在与文件夹相同的目录中,但不在里面。

4

2 回答 2

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

于 2018-01-26T13:02:55.783 回答
0

我想通了为什么,我在 path1 字符串中缺少一个“\”

它应该是:

path1 = os.path.join(path + r"\PBC_SITUS" + str(now.month) + "_" + str(now.day) + "_" + str(now.year) +".zip")
于 2018-01-26T12:53:44.227 回答