You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Windows Terminal保留脚本输出的制表符而非转为空格?

解决Windows Terminal制表符复制识别问题

一、调整Windows Terminal配置(根本解决)

Windows Terminal默认会将制表符替换为空格,这是导致复制后无法识别的核心原因,直接修改终端配置即可解决:

  • 按下Ctrl+,打开终端设置
  • 选择你运行脚本时使用的配置文件(比如PowerShell、Command Prompt或Python环境)
  • 在配置项中找到制表符宽度(Tab width),同时确认并关闭"将制表符替换为空格"的选项
  • 保存设置后重启终端,再运行脚本复制输出,制表符就能被电子表格识别为单元格分隔符

二、脚本层面的替代方案(无需修改终端时用)

1. 输出CSV格式(推荐)

电子表格对CSV格式原生支持良好,无需依赖制表符:

# 简单场景直接输出逗号分隔内容
print("one,two,three")

# 字段含特殊字符时用csv模块规范输出
import csv
import sys
writer = csv.writer(sys.stdout)
writer.writerow(["one with comma,", "two", "three"])

复制输出后,电子表格会自动识别逗号为单元格分隔符,直接拆分内容。

2. 强制输出原始制表符

用sys.stdout.write代替print,避免print可能的额外处理,确保输出纯制表符:

import sys
sys.stdout.write("one\ttwo\tthree\n")
sys.stdout.flush()

注意:此方法仍需确保Windows Terminal未开启制表符转空格的配置,否则终端还是会把制表符换成空格。

3. 使用自定义分隔符后拆分

如果终端配置无法修改,可以用电子表格支持的自定义分隔符(比如|)输出,复制后通过表格的分列功能拆分:

print("one|two|three")

复制到Excel后,点击「数据」→「分列」,选择分隔符为|即可完成单元格拆分。

内容的提问来源于stack exchange,提问作者Flimm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:05:33