改变你BASE_URL
要么
BASE_URL = "http://foobar.com?foo='%s'"
要么
BASE_URL = 'http://foobar.com?foo=\'%s\''
如果您正在使用URL参数,则使用urllib.urlencode可能更安全:
import urllib BASE_URL = 'http://foobar.com/?%s' print BASE_URL % urllib.urlencode({ 'foo': 'bar', })
关于报价:为什么你明确地想要它们?通常,您的HTTP包装器将为您处理所有这些.
关于你的第二个问题:如果你绝对也希望在那里有引号,你仍然必须在追加包含的字符串时逃避它们,或者(可能更安全的方式)将使用repr(...)
lst = ['foo', 'bar', 'foo bar'] lst2 = [] for l in lst: if ' ' in l: lst2.append(repr(l))