Какой самый питонный способ открыть файл?
Я пытаюсь немного очистить свой код, и мне трудно понять, какой из этих двух способов считается самым питоническим
import os
dir = os.path.dirname(__file__)
str1 = 'filename.txt'
f = open(os.path.join(dir,str1),'r')
Хотя второй, кажется, самый чистый, я нахожу объявление fullPath слишком много, так как оно будет использоваться только один раз.
import os
dir = os.path.dirname(__file__)
str1 = 'filename.txt'
fullPath = os.path.join(dir,str1)
f = open(fullPath,'r')
В общем, лучше ли избегать вызова функций внутри другого вызова, даже если он добавляет строку кода?
2 ответа
with open('file path', 'a') as f:
data = f.read()
#do something with data
или же
f = open(os.path.join(dir,str1),'r')
f.close()
file = open('newfile.txt', 'r')
for line in file:
print line
ИЛИ ЖЕ
lines = [line for line in open('filename')]
Если файл огромен, read() определенно плохая идея, так как он загружает (без параметра размера) весь файл в память.
Если ваш файл огромен, это приведет к задержке!
Поэтому я не рекомендую читать () или читать строки ()
Есть много способов открыть файлы в python, что говорит о том, что на самом деле нет питонского способа сделать это. Все сводится к тому, какой метод вы считаете наиболее вероятным, особенно в отношении того, что вы на самом деле пытаетесь сделать с файлом после его открытия.
Большинство пользователей используют графический интерфейс пользователя "щелчок" для открытия файлов, поскольку он позволяет им просматривать текущий файл, а также вносить некоторые изменения, если в этом есть необходимость.
Другие могут просто полагаться на командные строки для выполнения задачи за счет невозможности сделать что-либо, кроме открытия файла.
Использование командных строк:
% python myfile.py
обратите внимание, что для того, чтобы это работало, вам нужно убедиться, что система "смотрит" в каталог, где хранится ваш файл. Использование 'cd' полезно для поиска вашего маршрута там.
% python import myfile myfile.title
Этот метод известен как метод открытия файлов object.attribute. Этот метод полезен, когда открываемый файл содержит операцию, которую вы хотели бы реализовать.
Есть больше способов, чем было сказано выше, не забудьте проконсультироваться с pyDocs для получения более подробной информации.