os.walk
дает вам путь к каталогу в качестве первого значения в цикле, просто используйте os.path.join()
для создания полного имени файла:
shpfiles = []
for dirpath, subdirs, files in os.walk(path):
for x in files:
if x.endswith(".shp"):
shpfiles.append(os.path.join(dirpath, x))
Я переименовал path
в цикле в dirpath
, чтобы не конфликтовать с переменной path
, которую вы уже проходили до os.walk()
.
Обратите внимание, что вам не нужно проверять, есть ли результат .endswith() == True
; if
уже делает это для вас, часть == True
полностью избыточна.
Вы можете использовать .extend()
и выражение генератора, чтобы сделать приведенный выше код немного более компактным:
shpfiles = []
for dirpath, subdirs, files in os.walk(path):
shpfiles.extend(os.path.join(dirpath, x) for x in files if x.endswith(".shp"))
или даже как одно понимание списка:
shpfiles = [os.path.join(d, x)
for d, dirs, files in os.walk(path)
for x in files if x.endswith(".shp")]
Вам нужно зациклить на $ _FILES, как показано ниже код
if ( Вам нужно зациклить на $ _FILES, как показано ниже код
[110] }
FILES['upload']) {
$file_ary = reArrayFiles( Вам нужно зациклить на $ _FILES, как показано ниже код
[110] }
FILES['ufile']);
foreach ($file_ary as $file) {
print 'File Name: ' . $file['name'];
print 'File Type: ' . $file['type'];
print 'File Size: ' . $file['size'];
}
}