Так что я надеюсь, что правильно понимаю вас, и если я это, это должно помочь.
import fnmatch
import os
def walk_directories(self, Dir, pattern):
root = Dir
for root, directories, files in os.walk(Dir):
for basename in files:
if fnmatch.fnmatch(basename, pattern):
_file_path = os.path.join(root, basename)
return _file_path
Это было сделано для различных целей, но оно должно удовлетворить ваши потребности, а также, я получил это происходит, чтобы найти файлы, содержащиеся в «неизвестных» подкаталогов, содержащихся в одном корневом каталоге. Все, что вам нужно знать, это имя файла и корневой каталог (основная папка), это также будет работать с частичными именами файлов, по сути, если у вас есть три файла с именами «pdf1», «pdf2» и «pdf3», все, что вы необходимо выполнить поставку этого параметра.
Честно говоря, это похоже на перебор, если вы знаете, что каталоги и файлы, с которыми вы работаете, могли бы сделать это намного проще, но с этим это довольно прямолинейно.
По существу вы указываете путь к папке в «Dir» Параметр и имя файла в параметре скороговоркой
walk_directories("C:\\Example folder", "Example File.pdf") # or simply "pdf1" etc..
Вы отметите эту функцию возвращает переменную, которая, в данном случае, полный путь к файлу от того, с чем вы работаете.
_path = walk_directories("C:\\example folder", "example file.pdf")
_path будет содержать
C:\\example folder\\example file.pdf
Таким образом, вы могли бы что-то вроде
def read(self, path):
try:
if os.path.isfile(path):
with open(path, 'r') as inFile:
temp = inFile.read()
except IOError as exception:
raise IOError('%s: %s' % (path, exception.strerror))
return temp
Параметр "путь" будет в этом случае будет _path результирующая переменная возвращается (темп) будет текст, который содержался в файле оттуда, был таким простым, как
def write(self, path, text):
try:
if os.path.isfile(path):
return None
else:
with open(path, 'w') as outFile:
outFile.write(text)
except IOError as exception:
raise IOError("%s: %s" % (path, exception.strerror))
return None
так что это довольно прямолинейно, а также укажите путь и переменную, содержащую текст, который вы хотите написать.
Возможный дубликат [Найти все файлы в каталоге с расширением .txt в Python] (http://stackoverflow.com/questions/3964681/find-all-files-in-directory-with-extension-txt-in- python) –
Никто не сказал этого. но надеюсь, что вы знаете, что pdf-файлы - это не текстовые файлы? – danidee