私はファイルを持っています、例えば "something.exe"と私はこのファイルへのパスを見つけたいです
どうすればこのことができますか?おそらく、与えられたファイルへのパスを見つける方法はありますか?
3
A
答えて
12
os.path.abspath()
はそれを行うだろう:
import os
print os.path.abspath("something.exe")
あなたsomething.exe
が現在のディレクトリにない場合には、すべての相対パスを渡すことができますし、abspath()
がそれを解決します。それはそれがどこにあるか、あなたが絶対にわからない場合は、唯一の方法は、それがルートから見つけることです場所
import os
exe = 'something.exe'
#if the exe just in current dir
print os.path.abspath(exe)
# output
# D:\python\note\something.exe
#if we need find it first
for root, dirs, files in os.walk(r'D:\python'):
for name in files:
if name == exe:
print os.path.abspath(os.path.join(root, name))
# output
# D:\python\note\something.exe
7
使用os.path.abspath c:\
import os
for r,d,f in os.walk("c:\\"):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
他にも、system32のようにexeを保存する場所がほんの少ししかないことがわかっている場合は、そこから見つけてください。 PATH変数内のディレクトリの1つに.exeを置く場合は、os.environ ["PATH"]を使用することもできます。
for p in os.environ["PATH"].split(";"):
for r,d,f in os.walk(p):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
4
です取得するためのパス名
使用os.walkの正規化された絶対を取得する
2
ええと...この質問は少し不明です。
「持っている」とはどういう意味ですか?あなたはファイルの名前を持っていますか?それを開いたことがありますか?それはファイルオブジェクトですか?それはファイル記述子ですか?何???
名前の場合は、「検索」とはどういう意味ですか?たくさんのディレクトリにあるファイルを検索しますか?または、それがどのディレクトリにあるか知っていますか?
ファイルオブジェクトの場合は、ファイルオブジェクトをfileob.nameから取得することはできますが、それを開いて、合理的に、パスを知っている必要があります。
関連する問題
- 1. 与えられた集合から与えられた数(繰り返しが許される)を合計するすべての方法を見つける
- 2. 与えられたXMLファイルで最大のノードを見つけるには?
- 3. 与えられた色の近くの色を見つける
- 4. 与えられたコミットのタグ情報を見つける
- 5. 与えられた出力で最大値を見つける
- 6. 与えられた線に垂直な点を見つける
- 7. 与えられたディレクトリを見つけるコマンド
- 8. 与えられたPR_SEARCH_KEYを持つすべてのメッセージを見つける
- 9. クリックされたTButtonGroupのボタンを見つける方法はありますか?
- 10. 四半期の日付が与えられた四半期の終わりを見つける方法
- 11. GAEでのpythonファイルのパスを見つける方法は?
- 12. Re:バイナリ検索ツリーと数字が与えられていると、ノードのデータが与えられた番号に追加されたパスを見つける
- 13. コントロールのオーナースレッドを見つける方法はありますか?
- 14. GDBは与えられたメモリ領域のポインタを見つける
- 15. 与えられたtwitterハンドルのtweet densityを見つけるには?
- 16. IDからFacebookページのURLを見つける方法はありますか?
- 17. コンパイラプラグインからScalaプログラムのステートメントを見つける方法はありますか?
- 18. Herokuでメモリリークを見つける方法はありますか?
- 19. 与えられたintに最も近い偶数を見つける方法は? (与えられた11のリターン12)
- 20. プロセスIDが与えられたプロセスのすべてのスレッドを見つける
- 21. 与えられた範囲内のすべての素数を見つける
- 22. 最も近い次の/前の倍の値を見つける方法(与えられた数値に対してnumeric_limits ::εを見つける方法)
- 23. ActiveRecord接続からサーバを見つける方法はありますか?
- 24. jqueryの$ .getメソッドへの動的パスを与える方法
- 25. 与えられたリポジトリ(MirrorBrain)のファイルのリストを取り出す方法は?
- 26. 大きいデータベースのあるテーブルから別のテーブルへの結合パスを見つける方法
- 27. 与えられた瞬間にLinuxが実行しているプロセスを見つける方法は?
- 28. 与えられた列と行のchar配列のインデックスを見つける?
- 29. 与えられた固有値の固有ベクトルを見つけるR
- 30. SVNのサブディレクトリを除いたパスにアクセス権を与える方法はありますか?
+1。私は数秒であなたを逃した。 :) – simplyharsh