[解決済み] Pythonでファイルサイズを変換するためのより良い方法 [終了しました]。
2022-11-18 07:41:12
質問
ファイルを読み込んで、そのサイズをバイト数で返すライブラリを使っています。
このファイルサイズはエンドユーザーに表示されるのですが、エンドユーザーが理解しやすいように、ファイルサイズを明示的に
MB
で割ることで
1024.0 * 1024.0
. もちろん、これは動作しますが、私はPythonでこれを行うには良い方法があるのだろうか?
より良いというのは、私が欲しいタイプに応じてサイズを操作できるstdlib関数があるかもしれないという意味です。例えば、私が
MB
と指定すると、自動的に
1024.0 * 1024.0
. こんな感じです。
どのように解決するのですか?
あるのは 急ぎのファイルサイズ があり、これはサイズをバイト単位で受け取り、それを美しい文字列にしてくれます。
>>> from hurry.filesize import size
>>> size(11000)
'10K'
>>> size(198283722)
'189M'
あるいは、1K==1000にしたい場合(これはほとんどのユーザが想定していることです)。
>>> from hurry.filesize import size, si
>>> size(11000, system=si)
'11K'
>>> size(198283722, system=si)
'198M'
IECもサポートしています(しかし、それは文書化されていませんでした)。
>>> from hurry.filesize import size, iec
>>> size(11000, system=iec)
'10Ki'
>>> size(198283722, system=iec)
'189Mi'
Awesome Martijn Faassenによって書かれたため、コードは小さく、明確で、拡張性があります。あなた自身のシステムを書くのはとても簡単です。
これがその一つです。
mysystem = [
(1024 ** 5, ' Megamanys'),
(1024 ** 4, ' Lotses'),
(1024 ** 3, ' Tons'),
(1024 ** 2, ' Heaps'),
(1024 ** 1, ' Bunches'),
(1024 ** 0, ' Thingies'),
]
のように使用します。
>>> from hurry.filesize import size
>>> size(11000, system=mysystem)
'10 Bunches'
>>> size(198283722, system=mysystem)
'189 Heaps'
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)