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

Python创建文本文件时文件名莫名添加??的问题排查与解决

解决文件名出现??的问题

嘿,这个问题我之前也碰到过!那些??其实是不可见的换行符在搞鬼——你从USER_LIST里读取每一行的时候,core_id变量会自带行尾的换行符(比如\n,Windows系统下可能是\r\n),这些字符没法作为文件名的有效部分,系统就用??来显示它们了。

修复方法很简单,给ID做个"清洗"就行

只需要在使用core_id之前,用strip()方法把它两端的空白字符(包括换行符、空格)去掉,代码修改如下:

import subprocess

with open('USER_LIST', "r") as file:
    for core_id in file:
        # 去掉换行符和多余空白,同时跳过空行
        cleaned_id = core_id.strip()
        if not cleaned_id:
            continue
        filename = f"{cleaned_id}.txt"  # 用f-string更直观
        # 注意别和外层的file变量重名,改成output_file更清晰
        with open(filename, "w") as output_file:
            subprocess.Popen(f"query where coreid={cleaned_id}", stdout=output_file, shell=True)

额外提几个小优化点

  • 用Python 3.6+支持的f-string格式化字符串,比%s写法更易读好维护。
  • 加了空行判断,避免USER_LIST里有空行时生成奇怪的空文件名。
  • 内层文件变量改名为output_file,避免和外层的file变量冲突,代码更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:33:18