用python打开外部文件

用python打开外部文件,python,Python,我在运行代码时遇到了这个错误 x = open('Homework','r') print(x.name) x.close() 我有一个Unicode错误 顺便说一句,我使用的是windows。这是因为您忘记了文件的扩展名和结尾。例如,如果您有一个名为“家庭作业”的文本文件,您可以像这样将其包含在 x = open('C:\Users\LENOVO\Desktop\pythonhome','r') print(x.name) x.close() 对于本例,它必须与脚本位于同一目录中。如果您想

我在运行代码时遇到了这个错误

x = open('Homework','r')
print(x.name)
x.close()
我有一个Unicode错误


顺便说一句,我使用的是windows。

这是因为您忘记了文件的扩展名和结尾。例如,如果您有一个名为“家庭作业”的文本文件,您可以像这样将其包含在

x = open('C:\Users\LENOVO\Desktop\pythonhome','r')
print(x.name)
x.close()
对于本例,它必须与脚本位于同一目录中。如果您想在脚本目录之外打开一个文件,您必须找到它的完整路径。下面是我的下载文件夹中的家庭作业.txt文件的示例

open(r'Homework.txt','r')

你也可以在这段代码中看到,我在路径前面使用了一个r。这会告诉Python表达式是原始字符串,不会解析转义序列。

正如前面提到的注释,通常最好键入文件的完整路径,因为例如,在空闲状态下运行脚本可能会导致Python在您不打算搜索的目录中搜索该文件。出现Unicode错误的原因是您使用了一个特殊字符,即反斜杠\它开始了一个称为转义序列的字符。转义序列允许编码器指定特殊字符,如换行符:\n。您可以在Python的文档中阅读更多关于这些的内容

您必须使用原始字符串(前面有r的字符串,如r'C:\Users\…'),或者使用双反斜杠转义这些字符,如:C:\\Users\

此外,您需要指定家庭作业文件的扩展名,否则文件系统将无法找到您所引用的文件,从而导致遇到FileNotFoundError。正如@tdelaney提到的,默认情况下,这些扩展可能隐藏在Windows资源管理器中

另外,Python中建议的打开文件的方法是使用with语句,因为这将为您处理关闭对象的操作。下面是一个假设家庭作业文件扩展名为.txt的示例:

open(r'C:\Users\USER\Downloads\Homework.txt','r')

如何运行脚本?这会在道路上产生巨大的变化。编辑:另外,你没有键入它的扩展名。请问您必须读取的文件的完整路径是什么?这并不能解决OP的Unicode错误问题,Unicode错误是使用特殊字符``创建的。您要么需要转义这些字符,要么使用原始字符string@awarrier99-但它可以在第一个脚本中解释问题。我认为这个答案应该提到,默认情况下,Windows在GUI中不显示文件扩展名,但它们在命令行中是必需的。另外,突出显示txt是猜测。。。它可以是一个.docx或任何数量的其他扩展,具体取决于所使用的工具。完整路径通常不是最佳实践。它们将数据的放置限制在单个目录中。它对您自己的私有脚本很有用—我想这是您的意图—但我不想使用最佳实践。@t请注意,我说的是最佳实践,因为在空闲状态下运行相同的脚本可能会导致Python在空闲状态下搜索文件,而不是在脚本所在的目录下搜索。完整的路径可以防止这种意外后果
open(r'C:\Users\USER\Downloads\Homework.txt','r')
with open('C:\\Users\\LENOVO\\Desktop\\pythonhome\\Homework.txt', 'r') as x:
    print(x.name)