我正在爲來自CDC的NHANES數據集寫入數據刮取器。我遇到了文件IO問題。Python IO:在打開期間向文件名添加字符()
鑑於一年,組和標題(如2000年 「考試」, 「聽力測試」),我創建的文件名字符串:
filename = "nhanes."+str(year)+"-"+str(year+1)+"."+group+"."+titles[i]+".xpt"
這成功地打印出作爲
"nhanes.2000-2001.exam.Audiometry.xpt"
然後我使用此代碼下載.xpt文件在FTP服務器上:
req = urllib2.Request(ftp_loc)
response = urllib2.urlopen(req)
xpt_data = response.read()
f = open(filename, 'w')
f.write(xpt_data)
f.close()
ftp_loc是像 「ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/nhanes/2001-2002/OHXPRL_B.xpt」
然後,問題:我收到錯誤消息
Traceback (most recent call last):
(... method stack here ...)
IOError:[Errno 22] invalid mode ('w') or filename: 'nhanes.2000-2001.exam.Audiometry\r.xpt'
正如你所看到的,文件名現在有一個「\ r」:(任何想法如何到達那裏?謝謝!! 〜Emily
此外,使用Windows 7 64位 – user1507455 2012-08-07 22:11:21
而不是使用'print'來檢查你的字符串,使用'再版()'。我敢打賭,你會看到'\ r'。 – 2012-08-07 22:24:04