[python 3.6]Python错题本(实时更新)

本文介绍了Python3.6中遇到的两个常见错误:1) 使用普通字符串打开文件时因路径中的转义字符导致的问题,解决方案是使用原始字符串;2) 解释了Python中字符串和列表中关于反斜杠作为结尾时的错误,并指出原始字符串不能以单个反斜杠结尾。同时,提出了列表中最后一个元素为反斜杠的问题,目前尚无有效解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20180714 错题多转自www.fishc.com

1. file1 = open('C:\windows\temp\readme.txt', 'r') 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?
  
会报错是因为在字符串中,我们约定“\t”和“\r”分别表示“横向制表符(TAB)”和“回车符”(详见:http://bbs.fishc.com/thread-92997-1-1.html),因此并不会按照我们计划的路径去打开文件。
   

Python 为我们铺好了解决的道路,只需要使用原始字符串操作符(R或r)即可

2.关于python3.6 字符串最后一位是的情况:

str1 = r'''#¥@#%……*¥(%\'''

会报错,原因在于:

http://docs.python.org/reference/lexical_analysis.html

String quotes can be escaped with a backslash, but the backslash remains in the string; for example, r"\"" is a valid string literal consisting of two characters: a backslash and a double quote; r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character).

应该改为:

str1 = (r'#¥@#%……*¥(%''\\')

另外针对于列表中最后一位是\的情况比较麻烦,就目前还不能解决最后一位是\的情况,除非和列表其他项互换。

希望有知道转译列表中最后一位\方法的大神指点一二。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值