2013-07-31 191 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)。