我运行2to3 -f all -f idioms -f buffer -f set_literal -f ws_comma foo.py

输出:

RefactoringTool: No changes to foo.py

RefactoringTool: Files that need to be modified:

RefactoringTool: foo.py

foo.py的内容:

print("Hi")

我该如何解释这个输出?

最佳答案:

修改由the unicode fixer触发.此修复程序将解释每个字符串文字的内容,并尝试重新转义无效的Unicode序列,并删除u / U字符串前缀:

def transform(self, node, results):

...

elif node.type == token.STRING:

# 1. Replace the invalid \u sequences.

val = node.value

if not self.unicode_literals and val[0] in '\'"' and '\\' in val:

val = r'\\'.join([

v.replace('\\u', r'\\u').replace('\\U', r'\\U')

for v in val.split(r'\\')

])

# 2. Strip the leading `u` in u"...."

if val[0] in 'uU':

val = val[1:]

# 3. If the whole string is the same, return the original node.

if val == node.value:

return node #

# 4. Otherwise, create a new node.

new = node.clone()

new.value = val

return new

由于某些未知原因(bug?),即使在步骤3中返回原始节点,lib2to3仍然将其解释为更改了令牌树,因此它显示“需要修改的文件”.但是,实际的源代码是相同的,因此“foo.py没有更改”.

如果步骤3返回None,它将真正说“不需要修改文件”.

只会使用原始输入重写受影响的文件.所以这个bug是无害的.

标签:python,python-2to3

来源: https://codeday.me/bug/20190516/1114777.html

python特性无需修改_python – 2to3说“不需要更改”,然后是“需要修改的文件”...相关推荐

  1. python特性和属性_Python之属性、特性和修饰符

    原博文 2018-03-17 11:08 − 作为面对对象的核心内容,将从以下一个方面进行总结: 1. property和@property 2. __getattribute__().__getat ...

  2. python合并ts视频_python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频

    最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 "一出好戏" . ...

  3. python如何改颜色_python和networkx:如何更改节点的颜色

    我正在使用python和"networkx"来随机分配边缘点.点头在2个类别中,并且每个类别具有相同数量的节点.代码正在工作,但我有一个问题:如何更改节点的颜色?现在,这两个类别的 ...

  4. python合并txt文本_Python实现将目录中TXT合并成一个大TXT文件的方法

    本文实例讲述了Python实现将目录中TXT合并成一个大TXT文件的方法.分享给大家供大家参考.具体如下: 在网上下了一个dota的英雄攻略,TXT格式,每个英雄一个文件,看得疼,就写了一个小东西,合 ...

  5. python写入mysql数据库_python调用http接口,数据写入mysql数据库并下载录音文件

    写个脚本一共完成了三件事: 第一,python调用http接口, 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, import time import ...

  6. python清理日志脚本_Python日志:如果在程序运行时删除了日志文件,则创建新的日志文件(RotatingFileHandler)...

    我有一个python程序在运行,它使用timedrotingfilehandler连续记录到一个文件.有时我想在不关闭程序的情况下获取日志文件,所以我只需将日志文件剪切并粘贴到不同的位置.在 程序不会 ...

  7. python读取rtsp流_python cv2读取rtsp实时码流按时生成连续视频文件方式

    我就废话不多说了,直接上代码吧! # coding: utf-8 import datetime import cv2 import os ip = '192.168.3.160'.replace(& ...

  8. python打印机打印图片_python连接打印机实现打印文档、图片、pdf文件等功能

    引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...

  9. python特性高移植性_Python特性图文盘点|微胜教育《九大编程语言全解析》系列...

    原标题:Python特性图文盘点|微胜教育<九大编程语言全解析>系列 ​ 又到了每周<九大编程语言全解析>的时候了,小伙伴们五一马上到了,想好去哪浪了吗? 今天我们盘Pytho ...

最新文章

  1. 解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的问题
  2. PHP二分法查找,MYSQL索引即为用了此查找
  3. LaTex 实数集R
  4. 【python】Python中给List添加元素的4种方法分享
  5. cmi编码用c语言实现,CMI编码与解码
  6. 收藏网站制作常用经典css.div.布局.设计实例打包下载(下方有其他链接)
  7. 大数据工具使用——安装Hadoop(多台服务器)和Hive、Hbase
  8. bootstrap使用中遇到的坑
  9. oracle 自治事务异常不回滚,ORA-06519: 检测到活动的自治事务处理,已经回退
  10. 把ipa包上传到AppStore
  11. Stack (算法入门4)
  12. linux libodbc.so.1,关于C#:Testprintenv:加载共享库时出错:libodbc.so.1:无法打开共享对象文件...
  13. 一周市场摘抄20210125
  14. Apple设备型号名称映射表
  15. 如何规范地编写一个MATLAB函数文件
  16. 钟南山团队携手腾讯研发新冠重症AI预测模型,成果登上Nature子刊
  17. vue中使用element-ui时单元格内换行的问题
  18. 用VSCODE看linux内核代码
  19. ffmpeg截取视频片段的两种方式 1) 按时间截取 2)按帧数截取
  20. 诛仙哪里炼器服务器最稳定,告别炼器难 《诛仙2》顶级炼器师云集诛仙电台

热门文章

  1. 8082端口占用 TIM搞事情
  2. Ai工具介绍及使用方法
  3. easypoi动态设置列宽
  4. SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询
  5. 848中国鱼类资料图谱大全ACCESS数据库
  6. c# 托管的函数和要素_优质电子邮件托管的5个基本要素
  7. 运算符和表达式【二】
  8. 计算机知识树图片大全,计算机基础教案-----知识树.doc
  9. 中国运动健身人群分析报告出炉,看看哪些人在偷偷变瘦
  10. Spark的临时数据不自动清理