【发布时间】:2016-11-19 12:33:29
【问题描述】:
我的代码尝试创建一个文件夹,然后将 pdf 下载到相应的文件夹。在我当前的代码中,变量和计数器“i”跟踪要下载到哪个文件夹,但由于某种原因它似乎没有更新。在 else if 语句的末尾,我希望变量 i 增加 1。不明白这里的问题是什么,我对 python 还很陌生,如果在 java 中编码了类似的情况,我知道这只会工作文件但是不知道为什么它不能在 python 中工作。
import re
import os
import urllib
f = open("newfile.txt")
suffix = '.pdf'
for line in f:
i = 0
folderopt = str(i)
if suffix in line:
print('download')
url = line.rstrip('\n')
pdfname = url.split('LTN',1)[1]
print ('download to:'+'/Users/user/Desktop/PDF/'+folderopt+'/'+pdfname)
urllib.urlretrieve(url,'/Users/user/Desktop/PDF/'+folderopt+'/'+pdfname)
elif line>i:
filename = line.rstrip('\n')
print ('code:'+filename)
os.mkdir('/Users/user/Desktop/PDF/'+filename)
global i
i = i+1
f.close
编辑:我将变量放在 for 循环之外仍然得到这个
IOError: [Errno 2] No such file or directory: '/Users/user/Desktop/PDF/0/20160412398.pdf'
即使创建了文件夹 /Users/user/Desktop/PDF/1,i 计数也没有增加。
将 elif 语句更改为
elif int(line.rstrip('\n'))>i
还是不行
【问题讨论】:
-
您现在看到的输出是什么?你有打印语句——请在上面显示一些输出^^用你的代码。
-
您将字符串
line与整数i进行比较。那是行不通的。