1

ファイル myfile.txt があります。

こんにちは

そして、私は次のスクリプトを持っています:

#!/usr/bin/python 
import markdown

f = open('myfile.txt', 'r') 
f.read() 
htmlmarkdown=markdown.markdown(f)

私は得た:

AttributeError: 'file' オブジェクトに属性 'strip' がありません

成功するにはどうすればいいですか?

4

2 に答える 2

10

これを試して:

f = open('myfile.txt', 'r')
htmlmarkdown=markdown.markdown( f.read() )
于 2013-01-14T19:59:51.737 に答える
2

pyDogの答えは正しいです。あなたの問題は、fがファイルオブジェクトであるということです。文字列をマークダウンする必要があります。f.read()を呼び出すだけで、ファイルカーソルがファイルの最後に配置されますが、ファイルの内容が必要な文字列に配置されることはありません。

f = open('myfile.txt', 'r')
fileString = f.read()
htmlmarkdown=markdown.markdown( fileString )

あなたが得たエラーを見ると:

 AttributeError: 'file' object has no attribute 'strip'

これは、「file」オブジェクト(つまりf)をマークダウンに渡し、「file」オブジェクトには意味のない文字列関数strip()を呼び出そうとしたためです。

于 2013-01-14T20:03:42.133 に答える