Примери с модул tempfile
Ще започнем с прости примери с Python tempfile модул тук.
Създаване на временни файлове
Първото нещо, необходимо за запазване на временни данни, са файловете, в които можем да съхраняваме тези данни. Това може да се направи с помощта на TemporaryFile () функция. Най-голямото предимство на тази функция е, когато се създава файл с тази функция, не се правят връзки към този файл във файловата система на системата и затова не е възможно други процеси да имат достъп до тези файлове.
Нека разгледаме проста програма, която използва TemporaryFile () функция:
внос osимпортиране на tempfile
# Използване на PID в името на файла за по-добра идентификация
файл = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Осигуряване на файлов режим
temp_file = отворен (файл, 'w + b')
опитвам:
print ('temp_file: 0').формат (temp_file))
print ('temp_file.име: 0 '.формат (temp_file.име))
накрая:
temp_file.близо()
# Изтриваме сами временния файл
операционна система.премахване (файл)
print ('TemporaryFile Metadata:')
temp_file = tempfile.TemporaryFile ()
опитвам:
print ('temp_file: 0').формат (temp_file))
print ('temp_file.име: 0 '.формат (temp_file.име))
накрая:
# Почиства файла, когато се извика close
temp_file.близо()
Ето какво получаваме обратно с тази команда:
Създаване на временен файл
Този файл се изтрива веднага след като близо() функцията се извиква на tempfile справка.
Четене от временен файл
Дори четенето от временен файл е лесно и може да се извърши с едно извикване на метод в същия модул. Предимството на тази функция е това това ни помага да избягваме сложни операции за IO участва, ако трябва да направим тези операции ръчно. Ето програма, показваща тази функция в действие:
внос osимпортиране на tempfile
tempFile = tempfile.TemporaryFile ()
опитвам:
print ('Записване на данни във tempFile:')
tempFile.write (b'Всички данни могат да отидат тук.')
tempFile.търся (0)
print ('Четене на формуляр за данни tempFile: \ n \ t 0'.формат (tempFile.Прочети()))
накрая:
tempFile.близо()
Нека видим изхода за тази команда:
Python чете от временен файл
Целият текст във временните файлове беше предоставен обратно с едно извикване на метод.
Писане на обикновен текст във временен файл
В горните ни програми всички данни, записани във файлове, не са под формата на обикновен текстов формат. Ако искаме да го направим за прости текстови операции, можем просто да модифицираме файловия режим, когато отворим временния файл за модификации:
импортиране на tempfilefileMode = 'w + t'
с tempfile.TemporaryFile (mode = fileMode) като файл:
файл.линии за запис (['Linux \ n', 'Ubuntu \ n'])
файл.търся (0)
за елемент във файл:
печат (т.rstrip ())
Ето какво получаваме обратно с тази команда:
Писане на обикновен текст във файла
Създаване на именни временни файлове
Файловете, които трябва да бъдат обхванати в множество процеси, трябва да бъдат именувани, така че даден процес да не ги изтрие, когато е завършен. Ето как можем да създадем временен файл с име:
внос osимпортиране на tempfile
tempFile = tempfile.NamedTemporaryFile ()
опитвам:
print ('tempFile: 0'.формат (tempFile))
print ('temp.tempFile: 0 '.формат (tempFile.име))
накрая:
# Изтриване на файла също
tempFile.близо()
print ('Съществува ли? : 0 '.формат (os.път.съществува (tempFile.име)))
Нека видим изхода за тази команда:
Именован tempfile
Ако не изтрием файла, можем да проверим съществуването му в друга програма и да го използваме, ако съществува на посоченото място.
Предоставяне на име на файл Суфикс и Префикс
За да идентифицираме лесно файловете, които принадлежат към нашите собствени процеси във файловата система, можем да приложим суфикс и префикс и към името на файла:
импортиране на tempfiletempFile = tempfile.NamedTemporaryFile (суфикс = '_ ubuntu',
префикс = 'linuxhint_',
dir = '/ tmp',)
опитвам:
print ('tempFile:', tempFile)
print ('tempFile.name: ', tempFile.име)
накрая:
tempFile.близо()
Ето какво получаваме обратно с тази команда:
Прилагане на префикс и суфикс към името на файла
Предоставихме три параметъра на метода, който действа като суфикс и префикс за името на файла, което ще се превърне в местоположение, което сме посочили.
Заключение
В този урок разгледахме как можем да използваме модула tempfile на Python за управление на временни файлове в нашия код. Прочетете повече публикации на базата на Python тук.