在Python 3.4.2 Shell中打开文件

时间:2018-10-05 23:06:12

标签: python

我正在Windows 10上使用Python 3.4.2,只是开始从Python shell中打开和读取/写入文件

尽管我已经事先创建了文件(但不是从外壳创建的,因为它也不起作用),但我进行了此测试并收到以下错误消息。

有人可以告诉我在这里我没有考虑的内容,因为我所有的搜索都告诉我这应该可行。

>>> import os
>>> helloFile = open('C:\\Users\\jennifer\\Hello.txt')
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    helloFile = open('C:\\Users\\jennifer\\Hello.txt')
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\jennifer\\Hello.txt'

我按照John Gordon的建议进行了操作,并从路径名中删除了.txt,但它仍然无法正常工作。

这是文件的目录和路径:

C:\ Users \ jennifer \ Desktop \ Hello

最后,它已经打开,并且将非常意识到将来需要调用完整路径!谢谢

2 个答案:

答案 0 :(得分:0)

由于字符串中包含反斜杠(\),并且由于字符串文字中的反斜杠意味着表示了特殊字符(如换行符,例如\n),因此需要明确说明您要< em> verbatim 反斜杠(Windows文件路径需要)。

为此,您有两个主要选择:

  1. 您可以使用其他反斜杠转义反斜杠,例如。 e。有效地将每个反斜杠加倍:'C:\\foo\\bar'
  2. 您可以在字符串前添加r,以将其声明为 regexp 字符串,并在其中悬挂反斜杠的特殊含义:r'C:\foo\bar'

还有更多选择,但这是使用的两个主要选择。

但是,请注意,第二个选项在Python解析器中出现疣,从而阻止了它在字符串末尾表示反斜杠。因此,如果您想使用以反斜杠结尾的字符串文字(例如C:\foo\bar\),则不能使用此选项。

答案 1 :(得分:0)

您只需要在驱动器后放置一个'\',以避免出现unicode错误。下面的代码假设您已经在Powershell(Window的CMD)中运行Python。

此外,如果您想读取文件(即在CMD中打印内容),则需要通过在文件路径前放置r使其可读。

x

要打印内容:

file =open(r,'C:\\Users\jennifer\Desktop\Hello.txt')

然后按Enter键两次以获取输出。