имя файла python как параметр из массива - PullRequest
0 голосов
/ 21 февраля 2019

Мне нужно объявить имена файлов в массиве и передать их в , открытый с помощью метода в python. Имя файла необходимо отправить как параметр из массива.Пожалуйста, дайте мне знать, если код ниже в порядке.

filenames= ["abc.txt", "def.txt", "ghi.txt"] 

Код для итерации

for file in filenames

    with open(file,'r')

Я ожидаю, чтобы перебрать имена файлов и открыть их как

with open('abc.txt', 'r') #for first run

with open('def.txt', 'r') #for second run

with open('ghi.txt', 'r') #for third run

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

Если ваши файлы находятся в том же месте, что и программа python, хорошим примером является приведенный ниже фрагмент.

filenames= ["abc.txt", "def.txt", "ghi.txt"]
for i in filenames:
    with open(i,"r"):
        #do something with files here

Если ваши файлы находятся где-то еще, попробуйте указать полный путь в списке,Или используйте префикс, как показано ниже:

filenames= ["abc.txt", "def.txt", "ghi.txt"]
path_prefix = <path here>
for i in filenames:
    with open(path_prefix + i,"r"):
        #do something with files here
0 голосов
/ 21 февраля 2019

Вы можете попробовать:

filenames= ["abc.txt", "def.txt", "ghi.txt"] 
for single_filename in filenames:
    with open(single_filename, 'r') as file_object:
        print file_object.readlines()
0 голосов
/ 21 февраля 2019
filenames= ["abc.txt", "def.txt", "ghi.txt"]

for i in range(len(filenames)):
    with open(filenames[i], 'r') as fileObj:
        # do the rest

Или просто:

for file in filenames:
    with open(file, 'r') as fileObj:
        fileObj.readlines()
        # do the rest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...