У меня есть огромные данные в виде дерева каталогов, как:
c:/user/name/class/std/section I to VI [all section has individual folder i.e. 6 folder in total and all folder have 100+ files to be processed]
Я написал сценарий, в котором, если я предоставлю папку, содержащую файлы, например, Section I
, тогда он обрабатывал файлы внутри с помощью функции glob.iglob
.
Можно ли написать скрипт, который может перемещаться по каталогам, просто введя один каталог> файл обработки> оставить каталог> введя другой каталог> и так далее.
помогите пожалуйста.ходьба вдоль и обработки файлов в директории в питона
2
A
ответ
0
Обращаясь комментарий Abhisek на решение Арагона:
импорт зева папка = 'C:'
for root, dirs, files in os.walk(folder):
for name in files:
(base, ext) = os.path.splitext(name)
if ext in "csv":
print os.path.join(root, name)
4
вы можете попробовать этот код:
import os
folder = 'C:'
for root, dirs, files in os.walk(folder):
for name in files:
print os.path.join(root, name)
for name in dirs:
print os.path.join(root, name)
UPDATE:
импорт Os папка = 'C:'
for root, dirs, files in os.walk(folder):
for name in files:
nm, ext = os.path.splitext(name)
if ext == ".csv":
print os.path.join(root, name)
+0
, но предположим, что если я хочу найти и обработать файлы * .csv внутри каждой папки, тогда какой будет самый простой способ. ?? – diffracteD
0
import os
for (dirpath, dirnames, filenames) in os.walk(directory):
# Do some processing
Это будет перебирать корень указанного каталога, например. c:/user/name/class/std
и введите каждую папку, содержащуюся в ней, и укажите папки и файлы, содержащиеся в них. С этим вы должны быть способны делать то, что вам нужно для обработки мудрым.
Посмотрите на функцию os.walk http://docs.python.org/library /os.html?highlight=os.walk#os.walk – Levon
@Levon thanx для вашей ссылки ... на самом деле я новичок в Python, так что это было очень полезно. – diffracteD