SyntaxError: invalid token Python3 前导0

eg:

[Step 2]: preparing environment ...
  File "./prepare", line 60
    os.makedirs(folder, mode=0600)
                                ^
SyntaxError: invalid token

在Python 3中,数字不允许前导零。例如:

<span style="color:#242729"><span style="color:#393318"><code><span style="color:#7d2727">05</span>
<span style="color:#7d2727">0123</span></code></span></span>

等等是不允许的,但应该写成5123不是。

但是,在Python 2中,前导零表示该数字是八进制数(基数为8),因此04或分别03表示43八进制数,但08由于它不是有效的八进制数,因此无效。

在Python 3中,octals的语法更改为:

<span style="color:#242729"><span style="color:#393318"><code><span style="color:#7d2727">0o10</span>
<span style="color:#7d2727">0o4</span></code></span></span>

(以及使用0b0x前缀允许其他基础,如二进制和十六进制。)

至于你的另一个问题,Python中的一个标记是Python解释器将你的代码分成块的方式,这样它就能理解它(见这里)。这里,当标记生成器试图分割你的代码时,它不会期望在那里看到零,因此抛出错误。

我建议(与其他答案类似)你删除前导零((2016,4,3))或使用字符串(("2016","04","03"))表示这些。

 

解决方案

扫描二维码关注公众号,回复: 2663656 查看本文章

概述

os.makedirs() 方法用于递归创建目录。像 mkdir(), 但创建的所有intermediate-level文件夹需要包含子目录。

语法

makedirs()方法语法格式如下:

os.makedirs(path, mode=0o777)

参数

  • path -- 需要递归创建的目录。

  • mode -- 权限模式。

返回值

该方法没有返回值。

实例

以下实例演示了 makedirs() 方法的使用:

#!/usr/bin/python3

import os, sys

# 创建的目录
path = "/tmp/home/monthly/daily"

os.makedirs( path, 0o777 );

print ("路径被创建")

执行以上程序输出结果为:

路径被创建

参考文献:

https://stackoverflow.com/questions/36386346/syntaxerror-invalid-token

http://www.runoob.com/python3/python3-os-makedirs.html

猜你喜欢

转载自blog.csdn.net/weixin_41282397/article/details/81456705