我有一个功能,旨在从 URL 下载文件并将其写入磁盘,同时施加特定的文件扩展名。目前,它看起来像这样:
import requests
import os
def getpml(url,filename):
psc = requests.get(url)
outfile = os.path.join(os.getcwd(),filename+'.pml')
f = open(outfile,'w')
f.write(psc.content)
f.close()
try:
with open(outfile) as f:
print "File Successfully Written"
except IOError as e:
print "I/O Error, File Not Written"
return
当我尝试类似
getpml('http://www.mysite.com/data.txt','download')
我得到了位于当前工作目录中的适当文件,download.pml。但是,当我为函数提供不带 ' 符号的相同参数时,Python 会说“NameError: name 'download' is not defined”(URL 产生语法错误)。如果在函数本身中使用str(filename)
或类似的东西,甚至会发生这种情况。
我宁愿不必用引号字符输入函数的参数 - 它只会使输入 URL 等变得更加困难。有任何想法吗?我认为有一种简单的方法可以做到这一点,但我的 Python 技能参差不齐。