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