错误原因是,字符串以 \ 结尾 或者字符串缺少引号。

写代码拼接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

python SyntaxError: EOL while scanning string literal的更多相关文章

  1. SyntaxError: EOL while scanning string literal的解决

    2281 python中字符串的最后一个字符是斜杠会导致出错:SyntaxError: EOL while scanning string literal [背景] Python 2.7.2 中想要通 ...

  2. python ( EOL while scanning string literal)

    python错误: EOL while scanning string literal: 这个异常造成的原因是字符串,引号没有成对出现 参考:http://www.jb51.net/article/6 ...

  3. SyntaxError: EOL while scanning string literal

    在Python 中,这个提示,一般是因为特殊字符引起的,比如换行符,比如 \ 等. 下面有几个示例: 1. 换行符 # 源错误代码 get_tabs="select b.owner,b.ta ...

  4. python接口自动化,从excel取param的内容太多,使用eval转换报错'EOL while scanning string literal

    背景: 做接口自动化时,有个接口的参数内容很多,可以从excel中读取出来,但是在eval()进行转化时,就报错"'EOL while scanning string literal&quo ...

  5. [Error]EOL while scanning string literal

    有一个经常性的工作项目.需要一天的一些表数据到外部接口,但最近总是异常.今天检查的原因. 第一本地和测试环境中测试程序是没有问题,有网络环境只会在日志中抛出一个异常.产生主要的例外是推定异常数据. , ...

  6. 转 [Error]EOL while scanning string literal

    https://blog.csdn.net/orangleliu/article/details/38943749 项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了 ...

  7. 后台传给前端字符串为null或解析JSON字符错误——SyntaxError: JSON.parse: unterminated string literal at line 1 column 9018638 of the JSON data

    第一种情况: 第二种情况: 首先看看你的JSONObject或JSONArray的引用有没有Getter()和Setter()方法,这个必须要加上 问题:两张表双向多对一.一对多时.响应给后台使,出现 ...

  8. 使用MySql数据库, 浏览器接收返回数据报错SyntaxError: unterminated string literal

    用php写了一个很简单的页面, 用来记录常用的oracle的关键字和各种函数, 以后用起来查一下方便, 原来是用java写了一个web项目, 但是用起来太麻烦, 真的不如php方便, 然后就把整理的内 ...

  9. SyntaxError: JSON.parse: bad control character in string literal at line 1 column 16 of the JSON data

    JSON.parse转化Json字符串时出现:SyntaxError: JSON.parse: bad control character in string literal at line 1 co ...

随机推荐

  1. 2019.4.18 HTML + CSS相关整理

    目录 标签 块标签 行标签 行块转化 嵌套规则 css引入方式 行间样式 内部引入 外部引入 选择器 基础选择器 组合选择器 盒模型 css样式 字体属性 设置字体的大小 设置字体的粗细 设置字体的风 ...

  2. 最受欢迎的5款Node.js端到端测试框架

    测试,尤其是自动化测试在现代 WEB 工程中有着非常重要的角色,与交付过程集成良好的自动化测试流程可以在新版发布时帮你快速回归产品功能,也可以充当产品文档.测试因粒度不同又可以分为单元测试.接口测试. ...

  3. jquery加载单文件vue组件

    /**注册组件 */ function registerComponent(name){ dm[name] = {}; Vue.component(name + '-component', funct ...

  4. 本地DataGrip连接阿里云MySQL

    1.阿里云上开通MySQL端口 2.MySQL上的设置 1⃣️mysql -uroot -p2⃣️create user 'usrabc'@'%' identified by 'usrabc'; 3. ...

  5. 小米MIX 3获得ROOT权限的步骤

    小米MIX 3有没有办法开启Root超级权限?大伙都知道,Android设备有Root超级权限,一旦手机开启root相关权限,可以实现更强大的功能,比如大伙部门的营销部门的妹纸,使用一些营销工具都需要 ...

  6. 第八次 Scrum Meeting

    第八次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/4/12 22:00 20min 大运村1号楼6F 附Github仓库:WEDO 例会照片 工作情况总结(4.12 ...

  7. Pycharm 导入 Python 包、模块

    1.点击File->settings 2.选择Project Interpreter,点击右边绿色的加号添加包 3.输入你想添加的包名,点击Install Package 4.可以在Pychar ...

  8. 递归迭代vector三种方法实现二路归并排序

    https://mp.csdn.net/mdeditor/84933084# 附链接

  9. 详解exif.js,应用于canvas照片倒转(海报H5)

    业务背景,苹果手机调用上传接口拍照没有问题但是上传到网页上照片倒转了解决方法利用exif.js读取图片参数并对图片进行元数据修改 window.btoa(str)转码 window.atob(base ...

  10. 80x25彩色字符模式

    80x25彩色字符模式下显示缓冲区的结构: 在内存地址空间中,B8000H~BFFFFH共32KB的空间,为80x25彩色字符模式的显示缓冲区.往这个地址空间中写入数据,写入的内容会立即出现在显示器上 ...