Python: получить путь к файлу из текстового файла

#python #path #extract

#python #путь #извлечь

Вопрос:

Допустим, в Linux есть образец текстового файла

[SampleText.txt ]

1234 = 1234

abcd = 1234

efgh = /home/user/targetfile1.txt

ijkl = /home/user/targetfile2.txt

Как я могу получить конкретный путь (/home/user/targetfile1.txt amp; /home/user/targetfile2.txt ) из SampleText.txt и поместить его в переменную?

Комментарии:

1. Вы спрашиваете, как прочитать файл на Python? Пожалуйста, задайте более конкретный вопрос, поскольку это кажется простым open("sampleText.txt","r").read() . Какая часть чтения файла сбивает с толку? Или вы спрашиваете о поиске имени файла в строке данных? Если да, то каковы фактические правила форматирования для строки данных? Нам было бы полезно, если бы вы могли опубликовать код, который вы написали до сих пор, чтобы мы знали, какая часть вас смущает.

2. Нет, это не то, что я имею в виду

3. Я умею читать, но как я могу отфильтровать, чтобы получить путь к файлу в текстовом файле

4. «это не то, что я имею в виду». Хорошо. Пожалуйста, обновите вопрос, чтобы сказать, что вы на самом деле имеете в виду. Какая часть чтения файла вас смущает? Пожалуйста, постарайтесь быть очень конкретным в вашей проблеме. Мы не можем догадаться. Пожалуйста, не добавляйте комментарии. Пожалуйста, обновите вопрос.

Ответ №1:

Мой предлагаемый подход заключается в том, чтобы проанализировать файл как общий конфигурационный файл и сохранить вещи, которые выглядят как назначения. Если в вашем файле происходят другие странные вещи, это может не сработать, но я думаю, что здесь это сработает.

 myvars = {}

# iterate through all the lines
for line in open('SampleText.txt').readlines():
    # skip this line if it doesn't look like an assignment
    if not '=' in line: continue

    # split it into left and right pieces
    left, right = line.split('=', 1)

    # keep it around in a dictionary
    myvars[left.strip()] = right.strip()

# now you can query it to get stuff:
myvars['efgh']   # returns /home/user/targetfile1.txt 
  

Ответ №2:

Вам нужен модуль ConfigParser:

http://docs.python.org/library/configparser.html

Он анализирует файлы, которые выглядят следующим образом. Не зная вашей точной ситуации, я не могу быть уверен.