gpt4 book ai didi

python - 2to3 - 如何从输入文件中保留换行符?

转载 作者:太空狗 更新时间:2023-10-30 01:32:45 24 4
gpt4 key购买 nike

我试图在 Windows 机器上运行 2to3,其中 *.py 文件具有 Unix 风格的结束字符。运行 2to3 修改输出文件中的换行符。

MCVE:

print2.py之前的内容

print "Hello, world!"\n

执行的命令:

2to3 print2.py -w -n

打印2.py之后的内容

print("Hello, world!")\r\n

预期内容:

print("Hello, world!")\n

执行 2to3 转换时是否可以保留旧的换行符?

最佳答案

由于似乎没有标准的方法来改变命令行使用中的这种行为,我准备了非常简单的 Python 脚本,它运行代码并修补不需要的行为。

这里是 python modernize 的示例,但任何基于 2to3 的工具都可以正常工作。

# to access function to patch
import lib2to3.refactor
# actual main
import libmodernize.main
# convert str to list of args, not mandatory
import shlex
# patch problematic function, as suggested by @mfripp
lib2to3.refactor._to_system_newlines = lambda input: input

args = shlex.split("-w -n src") # prepare args
libmodernize.main.main(args) # pass args to main, equivalent of running cmdline tool

关于python - 2to3 - 如何从输入文件中保留换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39028517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com