【问题标题】:Creating a filename in Python that begins with a variable instead of a string of characters在 Python 中创建以变量而不是字符串开头的文件名
【发布时间】:2020-03-03 16:00:15
【问题描述】:

我需要创建一个类似于 NAME_Forecast_DATE 的文件名,其中名称和日期是变量。 到目前为止我有这个 filename = r'C:\Users\USERNAME\Desktop\'+carrier +'_Forecast_'+date+'.xlsx'

问题是最后一个 \ 导致 +carrier+ 是一个字符串,而 _Forecast_ 是一个变量。 当文件名以变量开头时,如何将此文件名写入桌面?

【问题讨论】:

  • 原始字符串不能以反斜杠结尾(我认为这是在文档中,所以“官方如此”)。那么为什么不简单地使用正斜杠呢?

标签: python variables filenames


【解决方案1】:

使用\\ 而不是\

例子:

path = “C:\\” + something + “\\something”

您也可以使用 .format(),它是格式化字符串的更好方法,但也可以继续使用 \\

【讨论】:

    【解决方案2】:

    对于这个特定的用例,使用str.format() 方法可以让您以可读的方式查看字符串,而无需进行任何字符转义。

    filename = r'C:\Users\USERNAME\Desktop\{}_Forecast_{}.xlsx'.format(carrier,date)
    

    如果您在字符串末尾有一个“\”,您将不得不使用两个反斜杠进行字符串转义并删除原始字符串前缀,就像@nagyl 建议的那样。其他任何需要转义字符串处理的特殊字符也是如此:https://docs.python.org/3/reference/lexical_analysis.html#index-22

    【讨论】:

      猜你喜欢
      • 2015-08-15
      • 2011-11-24
      • 1970-01-01
      • 2021-02-11
      • 2019-12-02
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      相关资源
      最近更新 更多