python SyntaxError: EOL while scanning strin…
2018-06-17 23:40:57来源:未知 阅读 ()
错误原因是,字符串以 \ 结尾 或者字符串缺少引号。
写代码拼接windows 路径出现这个错误, 查资料才知道 python中字符串不能以 \ 结尾
我的代码如下
import os dirname = "test"
path = r'C:\Users\panda\Desktop\新建文件夹\' + dirname
运行则报错
File "test.py", line 3 path = r'C:\Users\panda\Desktop\新建文件夹\' + dirname ^ SyntaxError: EOL while scanning string literal
那么如何解决呢
方法一 : 使用 os.path.join
path = os.path.join(r'C:\Users\panda\Desktop\新建文件夹', dirname)
方法二:路径的反斜杠使用转义 而不用 r
path = 'C:\\Users\\panda\\Desktop\\新建文件夹\\' + dirname
方法三:格式化字符串
dirname="test" path = r'C:\Users\panda\Desktop\新建文件夹\%s' % (dirname) # 第一种格式化方法 #从 python 2.6 开始 path = r'C:\Users\panda\Desktop\新建文件夹\{}'.format(dirname) # 第二种格式化方法
方法四: string interpolation (字符串内插)
从python 3.6 开始 支持string interpolation
# python 3.6 开始 支持string interpolation dirname = "test" path3 = rf'C:\Users\panda\Desktop\新建文件夹\{dirname}'
参考: https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-pep498
为何 字符串不能 以 \ (反斜杠) 结束呢
因为 反斜杠有别的用处。 python中一个完整的字符串太长的时候,一行写不下想换行,但又要维持它是一个字符串的时候 可以用 反斜杠来换行,所以反斜杠后面不能立即接上字符串结束的引号。
下面用 REPL演示
参考资料:
SyntaxError: EOL while scanning string literal的解决 - CSDN博客
python: SyntaxError: EOL while scanning string literal - Stack Overflow
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash