【问题标题】:Is there a way to avoid double quotation in formatting strings which include quotations inside them in Python有没有办法避免在格式化字符串中使用双引号,这些字符串在 Python 中包含引号
【发布时间】:2021-09-30 18:06:51
【问题描述】:

这不应该是一个难题,但我已经研究了将近一天!

我想创建一个必须采用以下格式的查询:'lat':'###','long':'###' 其中###s 代表纬度和经度。

我正在使用以下代码来生成查询:

coordinateslist=[]
for i in range(len(lat)):
     coordinateslist.append("'lat':'{}','long':'-{}'".format(lat[i],lon[i]))
coordinateslist

但是结果会是一些类似的东西,它的开头和结尾都有“”:“'lat':'40.66','long':'-73.93'”

可笑的是,用 .replace 或 .strip! 删除 " 是不可能的,并且将这些术语包装在 repr 周围并不能解决问题。 你知道我怎样才能去掉那些双引号吗?

附:我知道当我打印命令时," 不会显示,但是当我在查询中使用数组的每个元素时," 将出现在查询的末尾,这会阻止它工作。 直接这样写:

query_params = {'lat':'43.57','long':'-116.56'}

工作得很好。

但使用以下任一代码都会导致错误。

aa=print(coordinateslist[0])
bb=coordinateslist[0]

query_params = {aa}
query_params = {bb}
query_params = aa
query_params = bb

【问题讨论】:

  • 那些引号实际上并不存在,它们是字符串的表示。如果您尝试将字符串打印到屏幕上(例如,print(coordinateslist[0])),您会注意到字符串周围没有" "
  • 感谢您的回复,当我使用您在查询中提到的代码时,我收到错误“消息”:“无效坐标”。当我在查询中直接使用坐标列表 [0] 时,我看到 " 出现在查询中,如下所示:reverse_geocode.json?'lat':'41.83','long':'-87.68'",
  • 再一次,那些" 只是告诉你“这个对象是一个字符串”。它们实际上并不存在。当你直接访问字符串时,Python 会在它们周围加上" 来通知你这个对象的类型是一个字符串。当您的代码访问该对象时," 不存在。例如,再次尝试print(coordinateslist[0])。你会看到输出中没有"
  • 也许你的意思是coordinateslist.append({"lat": lat[i], "long": "-{}".format(lon[i])})
  • 您可能不应该列出字符串。制作字典列表并将其转换为 JSON。

标签: python string string.format quotation-marks


【解决方案1】:

如果您不想从字符串表示中看到",请尝试使用字典:

coordinateslist.append({
    "lat": lat[i],
    "long": "-{}".format(lon[i])
})

【讨论】:

    【解决方案2】:

    您得到的错误很可能完全是另外一回事(即与您在打印输出中看到的引号无关)。从查询的格式来看,我猜它需要一个格式正确的 URL 参数:reverse_geocode.json?...'lat':'41.83','long':'-87.68' 不是。您是否尝试使用固定字符串手动调用它(例如与邮递员一起使用)?

    假设您正在调用 twitter geo/ API,您可能希望使用正确分隔的 URL 参数来测试它。

    geo/reverse_geocode.json?lat=41.83&long=-87.68
    

    【讨论】:

    • 是的,我正在尝试调用 twitter API bur,因为我有很多坐标,我必须使其自动化。感谢您的评论,我使用了@Xiddoc 建议的方法:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多