0

当我尝试执行以下写入文件时,我收到如下所示的错误...我做错了什么?

# create a method that writes to a file.

f = open("C:\Users\QamarAli\Documents\afaq's stuff\myFile.txt", "r+")
f.write('0123456789abcdef')

这是错误:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
IOError: [Errno 22] invalid mode ('r+') or filename: "C:\\Users\\QamarAli\\Documents\x07faq's stuff\\myFile.txt"
>>> 
4

4 回答 4

3

尝试在 windows 上使用os.pathos.sep构造文件路径:

import os

file_path = os.path.join("C:" + os.sep, "Users", "QamarAli", "Documents", "afaq's stuff", "myFile.txt")
print file_path
print os.path.exists(file_path)
于 2012-12-24T02:57:43.737 回答
2

\a是一个转义序列(看看你的文件名中发生了什么)。在使用 Windows 路径时使用原始字符串来告诉 Python 不要解释反斜杠转义序列:

r"C:\Users\QamarAli\Documents\afaq's stuff\myFile.txt"
^ add this thing
于 2012-12-24T00:31:45.647 回答
0

在路径中使用正斜杠。

f = open("C:/Users/QamarAli/Documents/afaq's stuff/myFile.txt", "r+")
f.write('0123456789abcdef')
于 2014-02-10T10:38:14.500 回答
0
f = open("C:\Users\QamarAli\Documents\afaq's stuff\myFile.txt", "a+")
f.write('0123456789abcdef')

试试这个:

import os
f = open(os.path.join("C:\\", "Users", "QamarAli", "Documents", "afaq's stuff", "myFile.txt"),  "r+")
f.write('0123456789abcdef')
f.close()

确保文件已经存在,并且路径有效。

我现在也看到了这个,看来你可能使用了错误的路径,看看ineterpreter给你的错误。而不是afaq's stuff它说的x07faq's stuff是加号,它是我看到一个斜线的唯一地方。我想我同意搅拌机你的文件路径不正确。

于 2013-06-10T15:40:42.523 回答