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

Python本地TXT数据库登录菜单路径Unicode转义错误求助

Python登录菜单文件路径语法错误修复

问题说明

作为Python新手,首个项目为开发简易登录菜单,采用本地TXT文件存储用户数据。运行代码时触发如下路径相关语法错误:

db = open("database.txt", "C:\Users\DeePak\OneDrive\Desktop\Name\database.txt")
                                                                                                       ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

错误原因

Python字符串中,\是转义字符,\U会被识别为Unicode转义序列的起始标记,但路径里的\Users未提供完整的8位十六进制Unicode编码,导致解码失败。同时代码中open函数的参数顺序错误(将文件名与路径写反),正确格式应为open(文件路径, 打开模式)。

修复方案

方案1:使用原始字符串

在路径字符串前添加r,让Python将反斜杠视为普通字符:

# 读文件示例
with open(r"C:\Users\DeePak\OneDrive\Desktop\Name\database.txt", "r") as db:
    # 文件操作逻辑
    pass

# 写文件示例(注册时用追加模式"a")
with open(r"C:\Users\DeePak\OneDrive\Desktop\Name\database.txt", "a") as db:
    db.write(f"{Username}, {str(Password1)}\n")

方案2:替换为双反斜杠

将路径中的每个\替换为\\,通过转义表示普通反斜杠:

with open("C:\\Users\\DeePak\\OneDrive\\Desktop\\Name\\database.txt", "r") as db:
    pass

方案3:使用正斜杠

Python支持正斜杠/作为跨平台路径分隔符,直接替换所有反斜杠即可:

with open("C:/Users/DeePak/OneDrive/Desktop/Name/database.txt", "r") as db:
    pass

额外代码修正提示

  1. 需在代码开头添加import bcrypt,否则会因找不到模块报错
  2. 注册写入文件时,必须使用"a"(追加)或"w"(覆盖)模式,不能用默认的读模式
  3. 推荐使用with语句操作文件,无需手动调用close(),避免资源泄漏
  4. 登录函数中多余的if True:可直接删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:10:31