1. ホーム
  2. python

[解決済み] Pythonでランダムなファイル名を生成する最良の方法

2022-07-19 09:34:05

質問

Pythonで、私がサーバーに保存しているファイル(名前)の前に、上書きされないことを確認するために、いくつかのランダムなテキストを生成するための良い、または最良の方法は何ですか?ありがとうございます!

どのように解決するのですか?

Python には一時ファイル名を生成する機能があります。 http://docs.python.org/library/tempfile.html . 例えば

In [4]: import tempfile

各呼び出しは tempfile.NamedTemporaryFile() の呼び出しはそれぞれ異なるテンポラリファイルを生成し、そのファイル名には .name 属性でアクセスできます。

In [5]: tf = tempfile.NamedTemporaryFile()
In [6]: tf.name
Out[6]: 'c:\\blabla\\locals~1\\temp\\tmptecp3i'

In [7]: tf = tempfile.NamedTemporaryFile()
In [8]: tf.name
Out[8]: 'c:\\blabla\\locals~1\\temp\\tmpr8vvme'

一旦ユニークなファイル名を得ると、それは通常のファイルと同様に使用することができます。 注意 : デフォルトでは、ファイルは 削除されます。 される。 されます。しかし、もし delete パラメータがFalseの場合,ファイルは自動的に削除されない。 は自動的に削除されない。

フルパラメータセットです。

tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])

は、テンポラリファイルのプレフィックスを指定することもできます (ファイル作成時に指定できる様々なパラメータのうちの一つとして)。

In [9]: tf = tempfile.NamedTemporaryFile(prefix="zz")
In [10]: tf.name
Out[10]: 'c:\\blabla\\locals~1\\temp\\zzrc3pzk'

一時ファイルを扱うためのその他の例としては はこちら