如何在CPython控制台打印时保留制表符而非转换为空格?
解决Windows控制台中Python输出制表符被替换为空格的问题
以下是几种可行的解决办法,帮你保留制表符以便复制到Excel等软件:
输出到文本文件再复制
直接将内容写入文件,文件会保留原生制表符,避免控制台的渲染替换:with open('tab_output.txt', 'w', encoding='utf-8') as f: f.write(".\t.\n") # 可批量写入多行制表符分隔的数据 f.write("数据1\t数据2\t数据3\n")打开生成的
tab_output.txt文件,复制内容到Excel,制表符会自动拆分到不同单元格。使用Windows Terminal替代默认控制台
Windows默认的cmd、PowerShell对制表符的渲染会将其转为空格,而Windows Terminal能正确保留制表符的原始格式。安装后在其中运行Python代码,执行print(".\t.")后直接复制输出内容,制表符会被完整保留。用sys.stdout.write替代print输出
尝试绕过print的默认处理,直接用标准输出写入原始内容:import sys sys.stdout.write(".\t.\n") sys.stdout.flush() # 确保内容立即输出部分场景下这种方式能避免控制台对制表符的替换。
调整VSCode终端设置
如果你在VSCode中运行代码,可以修改终端相关设置:- 打开设置(快捷键
Ctrl+,) - 搜索
terminal.integrated.rendererType,设置为dom - 搜索
terminal.integrated.tabsize,设置为8(默认制表符宽度)
调整后重启终端,复制输出内容时制表符会被正确保留。
- 打开设置(快捷键
内容的提问来源于stack exchange,提问作者Samufi
相关产品推荐
相关产品推荐

