2013-07-31 208 views
3

我使用write命令创建了一个文件,出于某种原因,当我试图用文本编辑器打开它时,它出现了以下消息: “文档python_file.rtf不能打开”Python文件无法打开

这里正是我所做的:

infile=open("python_file.rtf","w") 
infile.write("insert string here") 
infile.close() 

然后,当我尝试打开该文件(我能找到它在文档中的所有内容)它给了我这么一个错误信息。谁能告诉我为什么?我对编程非常陌生。

+1

问题不再被搁置。您现在可以接受其中一个答案。 –

回答

2

您试图将其保存到RichTextFormated文件,但"insert string here"只是一个字符序列。尝试将其保存为python_file.txt并用记事本应用程序打开它,然后您应该看到文本。

如果你想保存RTF文件,你应该检查这些文件是如何形成的。对于你的例子,这将是:

infile=open("python_file.rtf","w") 
infile.write("{\rtf1 insert string here }") 
infile.close() 
6

这是因为rtf不只是纯文本格式。将其保存为python_file.txt例如或创建文件compatibile以RTF格式,例如:

>>> infile=open("python_file.rtf","w") 
>>> infile.write("{\r test \par }") 
>>> infile.close() 
4

RTF文件不是文本文件。您编写了一个文本文件,但将其命名为“.rtf”,因此您的操作系统正试图将其视为RTF,并且由于内容与RTF文件格式不匹配而失败。

将其更改为“python_file.txt”,我敢打赌它会正常工作。

+3

“RTF文件不是文本文件”这是不正确的,因为您可以在Python程序中以“文本模式”打开RTF文件。当然,正如你提到的那样,问题是关于RTF文件中与纯文本“TXT文件”不同的**格式**。 –

+0

一个较小的语义歧义,但我明白你的观点。在严格的Unix意义上,它是一个文本文件。但它不是一个“.txt”文本文件。 –

0

尝试使用不同的文件扩展名(.txt而不是.rtf)。也许你的操作系统试图打开它作为格式化文件(即MS Word)。