2016-09-20 11 views
0

Pythonでユーザー定義の名前を持つ一時ファイル/ディレクトリを作成する方法。私はtempfileを知っています。しかし、引数としてfilenameを持つ関数を見ることができませんでした。カスタムファイル名の一時ファイル/ディレクトリ?

注:実際のファイルシステムを使用するのではなく、テンポラリファイルを含む一時ディレクトリにglob(ファイル名パターンマッチング)機能をテストするユニットが必要です。

+0

あなたは['tempfile.NamedTemporaryFile()'](https://docs.python.org/2/library/tempfile.html#tempfile.NamedTemporaryFile)関数を認識していますか? – martineau

+0

私はそれがファイルにランダムに名前を付けると思います。間違っていると私を訂正してください –

+1

ファイル名はランダムかもしれませんが、それが何であるか( 'result.name')を知ることができるので、普通のファイルのように名前を変更することができます。 'dir ='引数を使って、作成されたディレクトリを制御することもできます。閉じられたらすぐに削除したくない場合は、必ず 'delete = True'を使用してください。 – martineau

答えて

0

open()には、必要なファイル名を使用できます。

open(name, 'w') 

Open

それとも

import os 
import tempfile 

print 'Building a file name yourself:' 
filename = '/tmp/guess_my_name.%s.txt' % os.getpid() 
temp = open(filename, 'w+b') 
try: 
    print 'temp:', temp 
    print 'temp.name:', temp.name 
finally: 
    temp.close() 
    # Clean up the temporary file yourself 
    os.remove(filename) 

それともmkdtempを使用して一時ディレクトリを作成し、一時ディレクトリにファイルを作成するためにopenを使用することができます。

+0

あなたの答えをありがとう。 "mkdtemp"を使用すると、ユーザーはそれを削除する責任があります。 –

+0

http://stackoverflow.com/questions/6884991/how-to-delete-dir-created-by-python-tempfile-mkdtemp/22726782これはチェック可能です – Techidiot

+0

ありがとうございます。これは助けになった –

関連する問題