Как найти определенную строку и содержимое в файле yaml - PullRequest
0 голосов
/ 25 июня 2018

Вот мой файл yaml

    filename:
      #Name of the JMX files which needs to be executed
      - URLLogin.txt
      - URLupload.txt
      - XlsxFileUpload.txt

    URLLogin:
      - this is to test the script

    XlsxFileUpload:
      - this is to test the current script

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

Здесь ниже мой код для поиска в описании.

#this method is to search a particular string in yaml
def searchStringInYaml(filename,string):
    with open(filename, 'r') as stream:
        content = yaml.load(stream)
        if string in content:
            print string
            return 1
        else:
            return 0
    stream.close()

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Если все, что вам нужно, это проверить указанную строку в файле yaml, не анализируйте файл yaml. Просто прочитайте файл и проверьте содержимое

def searchStringInYaml(filename,string):
    with open(filename) as f:
        contents = f.read()
        return string in contents
0 голосов
/ 25 июня 2018

yaml.load(stream) возвращает вхождение, использующее content.items() для итерации и проверки значения

Пример:

import yaml
with open(filename, 'r') as stream:
    content = yaml.load(stream)
    for k,v in content.items():
        if "URLLogin.txt" in v:
            print k, v

Выход:

filename ['URLLogin.txt', 'URLupload.txt', 'XlsxFileUpload.txt']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...