我有一个函数,用于从 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:名称‘download’未定义”(URL 产生语法错误)。如果在函数本身内我使用,甚至会发生这种情况str(filename)
或类似的事情。
我不想用引号字符输入函数的参数 - 它只会使输入 URL 等变得稍微困难一些。有任何想法吗?我认为有一个简单的方法可以做到这一点,但我的 Python 技能参差不齐。
不,那是不可能的。当您输入 Python 源代码时,您必须在字符串周围输入引号。否则 Python 无法分辨字符串的开始和结束位置。
看来你也有一个更普遍的误解。呼唤getpml(http://www.mysite.com)
不带引号并不是用“不带引号的相同参数”来调用它。根本没有任何争论。并不存在“带引号的论证”和“不带引号的论证”之分。 Python 不像自然的人类语言,你可以发出任何声音,然后由听者来理解你的意思。 Python 代码只能由某些构建块(对象名称、字符串、运算符等)组成,而 URL 不是其中之一。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)