2013-03-05 42 views
55

ファイルポインタがあればファイル名を取得できますか?ファイルポインタからファイル名を取得

fp = open("C:\hello.txt") 

それはfpを使用して"hello.txt"を取得することはできますか?

+6

これはまさに*ファイルポインタ*ではないことに注意してください。これは、Pythonの 'file'型のインスタンスです。 – mgilson

+14

Proのヒント:Pythonオブジェクトで 'dir()'を使って、利用可能な属性を確認してください。あなたは簡単に 'name'を見つけたでしょう。 :-) –

+10

@MartijnPieters:あるいは 'help(fp)'は、ファイルタイプとそのメソッドとデータに関するすべてのドキュメントを提供します。 – eryksun

答えて

79

fp.nameでパスを取得できます。例:

>>> f = open('foo/bar.txt') 
>>> f.name 
'foo/bar.txt' 

あなたがをしたい場合は、os.path.basenameを必要とするかもしれない唯一のファイル名:here(パイソン2用)

>>> import os 
>>> f = open('foo/bar.txt') 
>>> os.path.basename(f.name) 
'bar.txt' 

Fileオブジェクトのドキュメント。

関連する問題