Python 3.x 多输入多行循环写入文件-python
目前我正在粘贴多行名称,这些名称在每行中循环并写入一个文件。这会提示我粘贴起作用的值 但是,我希望有另一个提示,提示其他值,如IPs等,通过相同的循环 可能是非常简单的事情,但任何帮助都将不胜感激 提前谢谢Python 3.x 多输入多行循环写入文件-python,python-3.x,Python 3.x,目前我正在粘贴多行名称,这些名称在每行中循环并写入一个文件。这会提示我粘贴起作用的值 但是,我希望有另一个提示,提示其他值,如IPs等,通过相同的循环 可能是非常简单的事情,但任何帮助都将不胜感激 提前谢谢 subnet = input(('Paste the subnet mask: ')) quit = '' for line in iter(input, quit): with open('my_file.yml', 'a') as data_file: data_
subnet = input(('Paste the subnet mask: '))
quit = ''
for line in iter(input, quit):
with open('my_file.yml', 'a') as data_file:
data_file.write(" - host: " + line + "\n ip: " + ips + "\n subnet:
" + subnet)
您可以在不使用iter的情况下做您想做的事情,方法是使用一个无限的
while
,它只在没有输入时才会中断。如果不是主机,我也可以用检查是否没有输入,因为空字符串返回False
(请参阅:)
该文件仅打开一次。没有必要在每次迭代中重复打开它
我在调用write()
时使用了一个,但您仍然可以像以前一样使用普通字符串
subnet=input('粘贴子网掩码:')
打开('my_file.yml','a')作为数据文件:
尽管如此:
主机=输入('输入主机:')
如果主机=“”:
打破
ips=输入('输入ips:')
如果ips='':
打破
数据文件.write(f'-host:{host}\n ip:{ips}\n子网:{subnet}\n')
my_file.yml的内容
:
- host: localhost
ip: 192.168.0.5
subnet: 255.255.255.0
- host: anotherhost
ip: 192.168.1.1
subnet: 255.255.255.0
您实际上并没有发布接受任何输入的位置,所以我看不出您当前是如何获得输入的。@对于iter中的行(输入,退出):行。谢谢。你能发布完整的代码吗?我认为你用iter做不到。如果你需要上面的代码,你必须去旧学校使用。这正是你在那里看到的。目前是,;It’他只是在“for”行等待我的输入,我在该行中粘贴了内容。只需另一个提示即可粘贴IP。如果有别的方法我很乐意尝试。谢谢