我正在尝试构建一个脚本,该脚本将扫描网站,创建带时间戳的文件夹,然后将带时间戳的文件放入文件夹中。我能够让脚本扫描网站并制作带时间戳的文件,但是当我尝试获取动态命名文件夹时,我收到错误。我发布了工作代码,注释掉了破碎的代码。我不知道该怎么办,欢迎任何建议。
ValueError: mode string must begin with one of 'r', 'w', 'a' or 'U', not
'dataC1-07-28-2013.csv'
这是代码,非工作代码被注释掉:
import urllib2
import datetime
#import os
today = datetime.date.today()
todayDate = today.strftime('%m-%d-%Y')
#newpath = '/home/blah/Data ' + todayDate
#if not os.path.exists(newpath): os.makedirs(newpath)
print "starting load for", todayDate
stub = "http://website.ashx?v=151&c="
for i in range(1, 66):
print "getting", i, "..."
data = urllib2.urlopen(stub + str(i)).read()
f = open("fooC" + str(i) + "-" + todayDate +".csv", "w")
# f = open('newpath',"fooC" + str(i) + "-" + todayDate +".csv", "w")
f.write(data)
f.close()
print "load complete!"
答案 0 :(得分:3)
您需要构建绝对路径,最好使用os.path.join()
:
f = open(os.path.join('newpath', "fooC" + str(i) + "-" + todayDate +".csv"), "w")
open()
不会采用单独的目录和文件名参数,第二个参数始终是mode
参数。
答案 1 :(得分:1)