在文本文件中垂直打印Python列表

在文本文件中垂直打印Python列表,python,python-3.x,list,python-requests,Python,Python 3.x,List,Python Requests,这可能是个愚蠢的问题。我已经在这里的论坛上搜索了一个解决方案,但我似乎无法在我的代码中实现它。我尝试了一个.join方法以及+'\n',但绝对没有运气。如果进展顺利,一切都不会改变,更糟糕的是,它完全崩溃了。下面是有问题的代码。目标是使文本文件中的最终打印输出是垂直的,而不是水平的并混在一起。提前谢谢大家。我也有类似的代码,我已经成功地以我想要的方式打印出来,但我似乎无法在这里复制。如果需要,我们很乐意提供,但它只是在for循环之外使用print语句,循环调用循环变量进行打印。那里的设置很简单

这可能是个愚蠢的问题。我已经在这里的论坛上搜索了一个解决方案,但我似乎无法在我的代码中实现它。我尝试了一个.join方法以及+'\n',但绝对没有运气。如果进展顺利,一切都不会改变,更糟糕的是,它完全崩溃了。下面是有问题的代码。目标是使文本文件中的最终打印输出是垂直的,而不是水平的并混在一起。提前谢谢大家。我也有类似的代码,我已经成功地以我想要的方式打印出来,但我似乎无法在这里复制。如果需要,我们很乐意提供,但它只是在for循环之外使用print语句,循环调用循环变量进行打印。那里的设置很简单

import ipaddress  
import random 
import os

os.chdir('C:/Users/User/OneDrive/Desktop/')

network = ipaddress.ip_network('192.0.7.0/24')
network_list = list(network.hosts())

ip_network_list = []
with open ('IP Addresses.txt', 'r') as file:
    ip_network_list = file.readlines()
ip_network_list = [x.strip() for x in ip_network_list]

variable = random.randint(1,20)

interesting_IPs = []
for x in range (0,variable):
    randomly = random.randint(0,len(ip_network_list)-1)
    ipaddr = ipaddress.ip_address(ip_network_list[randomly])
    if ipaddr in network_list and ip_network_list[randomly] not in interesting_IPs:
        network_list.remove(ipaddr)
        ip_network_list.pop(randomly)
        interesting_IPs.append(ipaddr)

with open ('Interesting IPs.txt', 'w') as file:
    print ('The following are the interesting IPs:')
    for x in range (len(interesting_IPs)):
        print (interesting_IPs[x])
        file.write(str(interesting_IPs[x]))

看起来您只是想将IP打印到文件,而不仅仅是控制台。使用print的file关键字参数

with open ('Interesting IPs.txt', 'w') as file:
    print ('The following are the interesting IPs:')
    for ip in interesting_IPs:
        print(ip)
        print(str(ip), file=file)

很难帮助您,因为没有您的输入文件(
C:\Users\User\OneDrive\Desktop\IP Addresses.txt
),我们无法确定您的代码是否执行了它应该执行的操作

但根据您提供的代码,我的尝试如下:

import ipaddress  
import random 
import os

os.chdir('C:/Users/User/OneDrive/Desktop/')

network = ipaddress.ip_network('192.0.7.0/24')
network_list = set(network.hosts())

with open ('IP Addresses.txt') as input_file:
    ip_network_list = {x.strip() for x in input_file}

sample_size = random.randint(1, min(20, len(ip_network_list)))
random_networks = {ipaddress.ip_address(x)
                   for x in random.sample(ip_network_list, sample_size)}

interesting_IPs = random_networks & network_list

with open ('Interesting IPs.txt', 'w') as output_file:
    output_text = "\n".join(str(x) for x in interesting_IPs)
    print ('The following are the interesting IPs:')
    print(output_text)
    output_file.write(output_text)

这是您想要做的吗?

从简化开始。给我们一个列表中的ip数据,并显示输入和输出,因为它应该是。请提供一个。感谢您的帮助!你做到了,细微的改变,但它确实做到了。再次非常感谢你