Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用して一時ファイルとディレクトリを生成する


一時ファイル 標準ライブラリのモジュールは、一時ファイルとディレクトリを作成するための関数を定義します。これらは、オペレーティングシステムのファイルシステムによって定義された特別な一時ディレクトリに作成されます。たとえば、Windowsでは一時フォルダはprofile / AppData / Local / Tempにあり、Linuxでは一時ファイルは/tmpディレクトリにあります。

tempfileモジュールでは次の関数が定義されています

TemporaryFile()

この関数は、組み込みのopen()関数と同様に、一時ディレクトリに一時ファイルを作成し、ファイルオブジェクトを返します。ファイルはデフォルトでwb+モードで開かれます。つまり、ファイル内のバイナリデータの読み取り/書き込みに同時に使用できます。重要なのは、ファイルオブジェクトが閉じられるとすぐに、一時フォルダ内のファイルのエントリが削除されることです。次のコードは、TemporaryFile()関数の使用法を示しています。

>>> import tempfile
>>> f = tempfile.TemporaryFile()
>>> f.write(b'Welcome to TutorialsPoint')
>>> import os
>>> f.seek(os.SEEK_SET)
>>> f.read()
b'Welcome to TutorialsPoint'
>>> f.close()

次の例では、TemporaryFileオブジェクトをw +モードで開き、バイナリデータの代わりにテキストデータを書き込んでから読み取ります。

>>> ff = tempfile.TemporaryFile(mode = 'w+')
>>> ff.write('hello world')
>>> ff.seek(0)
>>> ff.read()
'hello world'
>>> ff.close()

NamedTemporaryFile()

この関数はTemporaryFile()関数に似ています。唯一の違いは、ランダムなファイル名のファイルがオペレーティングシステムの指定された一時フォルダに表示されることです。名前は、ファイルオブジェクトのname属性で取得できます。このファイルも、閉じるとすぐに削除されます。

>>> fo = tempfile.NamedTemporaryFile()
>>> fo.name
'C:\\Users\\acer\\AppData\\Local\\Temp\\tmpipreok8q'
>>> fo.close()

TemporaryDirectory()

この関数は一時ディレクトリを作成します。この一時ディレクトリの場所は、dirパラメータに言及することで選択できます。次のステートメントは、C:\\python36フォルダーに一時ディレクトリを作成します。

>>> f = tempfile.TemporaryDirectory(dir = "C:/python36")
<TemporaryDirectory 'C:/python36\\ tmp9wrjtxc_'>

作成したディレクトリがdir1フォルダに表示されます。ディレクトリオブジェクトでcleanup()関数を呼び出すことで削除されます。

>>> f.name
'C:/python36\\tmp9wrjtxc_'
>>> f.cleanup()

mkstemp()

この関数は、TemporaryFile()関数と同様に一時ファイルも作成します。さらに、サフィックスとプレフィックスのパラメータを使用して、一時ファイルを作成して追加できます。 TemporaryFile()の場合とは異なり、作成されたファイルは自動的に削除されません。手動で削除する必要があります。

>>> f = tempfile.mkstemp(suffix = '.tp')
C:\Users\acer\AppData\Local\Temp\tmpbljk6ku8.tp

mkdtemp()

この関数は、オペレーティングシステムの一時フォルダに一時ディレクトリも作成し、その絶対パス名を返します。作成場所を明示的に定義するには、dirパラメーターを使用します。このフォルダも自動的に削除されません。

>>> tempfile.mkdtemp(dir = "c:/python36")
'c:/python36\\tmpruxmm66u'

gettempdir()

この関数は、一時ファイルを格納するディレクトリの名前を返します。この名前は通常、tempdir環境変数から取得されます。 Windowsプラットフォームでは、通常、user / AppData / Local/Tempまたはwindowsdir/tempまたはsystemdrive/tempのいずれかです。 Linuxでは通常/tmpです。このディレクトリは、dirパラメータのデフォルト値として使用されます。

>>> tempfile.gettempdir()
'C:\\Users\\acer\\AppData\\Local\\Temp'

この記事では、tempfileモジュールの機能について説明しました。


  1. Pythonでディレクトリとファイルを一覧表示しますか?

    Pythonでディレクトリとファイルを一覧表示する方法はいくつかあります。 ディレクトリ内のファイルの一覧表示 特定のパスからすべてのファイルまたはディレクトリを取得する最も簡単な方法の1つは、os.listdir()メソッドを使用することです。 import osfor x in os.listdir(。):print(x) 結果 上記のコードは、現在の作業ディレクトリのファイルとディレクトリのリストを示しています。特定のディレクトリのファイルとディレクトリを一覧表示する場合は、絶対パス名を渡すだけです。 os.listdir(rC:\ Python \ Python361 \ s

  2. Pythonopenpyxlモジュールを使用してExcelファイルの読み取りと書き込み

    Pythonは、Excelファイルを操作するためのopenpyxlモジュールを提供します。 このモジュールでは、Excelファイルの作成方法、書き込み方法、読み取り方法などを実装できます。 openpyxlモジュールをインストールするには、コマンドプロンプトでこのコマンドを記述できます pip install openpyxl シートにタイトル名を付けたい場合 サンプルコード import openpyxl my_wb = openpyxl.Workbook() my_sheet = my_wb.active my_sheet_title = my_sheet.title print