首页 > 解决方案 > 添加“从文件读取”功能

问题描述

我以前做过,但这个程序有点不同,

from io import StringIO
import yaml
import sys

data ='''
asdhklf
SAKDLALKSJDH
rfsudyf48
CBAKJHDSKJAH
'''

fh = StringIO(data)
data = {}  # start a new dictionary



for index, line in enumerate(fh):  # iterate by-line
    host = line.strip()  # do any needed validation here
    data[host] = {
        "nodename": host,
        "hostname": f"{host}.northamerica.net",
        "username": "rundeck",
        "tags": '`rundeck`',
    }
yaml.dump(data, sys.stdout)

问题是,当我从文件中读取它时,它总是出错。

我想让它不必复制并粘贴到 data = ''' 下的程序中,它会自动从您提供的文件路径中获取数据。

标签: python

解决方案


这段代码对我有用。它只是从文件中读取数据并将数据放入变量数据中。

from io import StringIO
import yaml
import sys

# data ='''
# asdhklf
# SAKDLALKSJDH
# rfsudyf48
# CBAKJHDSKJAH
# '''

with open("inputfile123.txt") as inputFile:
    data = inputFile.read()

fh = StringIO(data)
data = {}  # start a new dictionary

for index, line in enumerate(fh):  # iterate by-line
    host = line.strip()  # do any needed validation here
    data[host] = {
        "nodename": host,
        "hostname": f"{host}.northamerica.cerner.net",
        "username": "rundeck",
        "tags": '`rundeck`',
    }
yaml.dump(data, sys.stdout)

推荐阅读