Python 报错 f-string expression part cannot include a backslash

Python 3.6 版本新增加的 f-string 语句非常简洁,其中可以直接在字符串中使用表达式,可以让代码写起来非常方便。

不过也要了解它的一些特性,不然就可能会报一个错误。

import re

file_name = 'F:\\02-data\\05-测风塔\\data_standar\\0224整年-Exported.csv'
print(f" {re.split('[\\\, .]', file_name)[-2]}(daily max)")

报错如下:

print(f" {re.split('[\\\, .]', file_name)}(daily max)")
  File "<ipython-input-16-57222b8ebc98>", line 1
    print(f" {re.split('[\\\, .]', file_name)[-2]}(daily max)")
          ^
SyntaxError: f-string expression part cannot include a backslash

好像也没有用错,确实应该这样写的,错误翻译过来f-string 的表达式中不能出现反斜杠
正常情况下

re.split('[\\\, .]', file_name)
Out[14]: ['F:', '02-data', '05-测风塔', 'data_standar', '0224整年-Exported', 'csv']

解决办法

1. 使用 format()

print(" {}_(daily max)".format(re.split('[\\\, .]', file_name)[-2]))
Out[14]:  0224整年-Exported_(daily max)

2. 外部计算

a = re.split('[\\\, .]', file_name)[-2]
print(f" {a}(daily max)")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值