我的文件名看起来像这样:
data00001
data00002
data00003
....
data00010
....
我保存了它们,并希望使用以下代码从他们所在的网站下载它们:
import urllib.request as urllib2
response = urllib2.urlopen("https://somewebsite/data00001.mat")
file = open(r"C:\Users\me\Desktop\data\data00001.mat", 'wb')
file.write(response.read())
file.close()
我应提供起始和结束文件名,例如:
从data00001到data01000,因此在此示例中,我希望下载从data0001到data01000的文件。 如何增加数据附近的数值以使其正常工作?
答案 0 :(得分:5)
尝试一下:
for i in range(1, 1001):
filename = "data" + str(i).zfill(4) + ".mat" # gives a padding of four digits
您可以使用文件名进行所有操作
答案 1 :(得分:0)
您可以使用整数范围和带零填充的格式化打印:
import urllib.request as urllib2
for i in range(1000):
filename = 'data{:05d}.mat'.format(i)
response = urllib2.urlopen("https://somewebsite/" + filename)
file = open(r"C:\Users\me\Desktop\data\" + filename, 'wb')
file.write(response.read())
file.close()
答案 2 :(得分:0)
在循环中检索所有文件非常容易:
import urllib.request as urllib2
counter = 1
limit = 1000
filename = "data"
for i in range(limit+1):
newFilename = "".join([filename,str(i).zfill(5)])
response = urllib2.urlopen("https://somewebsite/" + newFilename + ".mat")
file = open(r"C:\\Users\\me\\Desktop\\data\\" + newFilename + ".mat", 'wb')
file.write(response.read())
file.close()