【问题标题】:i am trying to open a existing file in python but it shows me this error [duplicate]我正在尝试在 python 中打开一个现有文件,但它向我显示了这个错误 [重复]
【发布时间】:2021-05-11 07:51:45
【问题描述】:
"C:\Users\ABHINAV\PycharmProjects\hello project\venv\Scripts\python.exe" "C:/Users/ABHINAV/PycharmProjects/hello project/app48.py"
  File "C:\Users\ABHINAV\PycharmProjects\hello project\app48.py", line 2
    file = open("C:\Users\ABHINAV\Desktop\file22", 'r')
                                                 ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Process finished with exit code 1

【问题讨论】:

    标签: python


    【解决方案1】:

    将代码更改为

    file = open(r"C:\Users\ABHINAV\Desktop\file22", 'r')
    

    【讨论】:

    • 一行代码不是很好的答案,至少解释一下原始代码有什么问题,你建议什么改变,以及为什么
    【解决方案2】:

    这里的问题在于您的文件名,即它包含反斜杠字符\。标准字符串使用反斜杠作为转义字符: \n 是换行符,而不是文字反斜杠-n 例如。 您可以将此文件名更改为有效的 Windows 路径字符串,方法是将其转换为原始字符串: 如果您看到一个带引号的字符串前面有一个字母,那么这是一个具有不同属性的字符串。字符串前面的 'r' 表示原始的(几乎)未转义的字符串。转义字符是反斜杠,这就是普通字符串不能用作 Windows 路径字符串的原因。字符串上的 r 前缀代表“原始字符串”

    尝试在文件名前添加r,如下所示:

    filename = r"C:\Users\ABHINAV\Desktop\file22"
    file = open(filename, 'r')
    

    或者,您可以使用额外的反斜杠来转义反斜杠:

    filename = "C:\\Users\\ABHINAV\\Desktop\\file22"
    

    或者最后,切换到正斜杠,因为 Windows 也会接受它们:

    filename = "C:/Users/ABHINAV/Desktop/file22"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2023-02-10
      • 2019-03-09
      • 2020-03-14
      相关资源
      最近更新 更多