我正在尝试使用两个变量(vg_line和sn_line)将两个记事本++文件中的部分行相互比较,以便将它们组合在一起(如果相等)。一旦找到它的对,就会从每个for循环中打印出某些信息,但它只找到第一对,并且不会继续遍历vg_lines文件,以便将其他行与sn_lines文件进行比较。
input_file = open(input_VG_name)
input_Server_name = open(input_Server_name)
for line in input_file:
line_data = line.strip()
vg_line = line_data[0:44]
volume_group = line_data[44:58]
for line1 in input_Server_name:
line_data = line1.strip()
sn_line = line_data[0:44]
server_name = line_data[46:64]
if vg_line == sn_line:
print(vg_line, volume_group, server_name)
第一篇文章,所以我可以做更好的编码/提问的任何提示非常感谢!
答案 0 :(得分:0)
您没有阅读文件
尝试以下方法:
input_file = r'c:\file.txt'
input_Server_name = r'c:\server_file.txt'
with open(input_file, 'r') as file:
for line in file.readlines():
line_data = line.strip()
vg_line = line_data[0:44]
volume_group = line_data[44:58]
with open(input_Server_name, 'r') as file1:
for line1 in file1.readlines():
line1_data = line1.strip()
sn_line = line1_data[0:44]
server_name = line1_data[46:64]
if vg_line == sn_line:
print(vg_line, volume_group, server_name)
问题是:这段代码必须为第一个文件中的每一行读取第二个文件(这是我从原始代码中获得的)。
还有其他两种方法可以匹配文件,搜索一下,有很多答案。不要忘记检查“代码审查”,它也有一些很好的例子。