Aba Asked:2020-10-17 14:18:57 +0000 UTC2020-10-17 14:18:57 +0000 UTC 2020-10-17 14:18:57 +0000 UTC 循环一个一个地输出数据? 772 python3中有表达式。 ips = ['10.10.10.98', '10.10.10.99'] for ip in ips: print(ip) 10.11.3.98 10.11.3.99 #Вывод ip 如何依次显示这些ip? 例如:将这些 ip(一个一个)添加到文本文件中。现在它只添加了最新的 ip 10.11.3.99。 python 4 个回答 Voted Jazzis 2020-10-17T16:03:41Z2020-10-17T16:03:41Z 您也可以print写入文件。它有一个参数file指定print行的输出位置,默认情况下等于sys.stdout. 但是您可以输出到文件: ips = ['10.10.10.98', '10.10.10.99'] with open('ips.txt', 'w') as f: for ip in ips: print(ip, file=f) 在这种情况下,\n您不能添加它,因为print它会将其添加到行尾。这可以通过参数更改end。 Best Answer Alexshev92 2020-10-17T14:26:36Z2020-10-17T14:26:36Z ips = ['10.10.10.98', '10.10.10.99'] with open("ips.txt", mode = "w") as file: # открываем файл for ip in ips: # проходим в цикле по списку и пишем в файл file.write(ip + "\n") gil9red 2020-10-17T14:37:33Z2020-10-17T14:37:33Z 您可以从列表中创建一个字符串并将其写入文件: ips = ['10.10.10.98', '10.10.10.99'] with open("ips.txt", mode="w") as f: file.write("\n".join(ips)) Vasyl Kolomiets 2020-10-18T13:51:45Z2020-10-18T13:51:45Z 由于此处已对保存方法进行了某种“审查”,因此我将允许自己进行一些补充。 第一的。在上述保存选项中,大文件最慢的选项是file.write("\n".join(ips)). 当将所有内容组合成一个巨大的字符串变量时,它只会“吃掉”内存。另外两个在速度和结果上是相等的。 第二。通常他们将数据保存在一个文件中,以便他们以后可以自己读取或将其传输给外部用户。如果假设第一个选项 - “我自己写,然后我自己读”,那么使用 pickle、json、shelve 模块通过序列化保存会更有效。 import pickle ips = ['10.10.10.98', '10.10.10.99'] with open('ips.pickle', 'wb') as f: pickle.dump(ips, f) 这将允许您稍后将整个列表“恢复”到一个变量中,而无需考虑如何解析 ips 中的行: with open('ips.pickle', 'rb') as f: ips = pickle.load(f) print(ips) json - 通常速度较慢,但它以几乎标准的 json 格式保存,更人性化 - 您可以打开它并了解其中保存的内容。还有更多的序列化库有自己的特点,例如:jsonpickle、simplejson、demjson。它们都使用 json 格式,并以自己的方式扩展了Python 发行版中包含的标准json模块的功能。 最快但依赖于版本的序列化语言是通过内置模块实现的marshal。代码几乎相同: import marshal ips = ['10.10.10.98', '10.10.10.99'] with open('ips.pickle', 'wb') as f: marshal.dump(ips, f) with open('ips.pickle', 'rb') as f: ips = marshal.load(f) print(ips) ['10.10.10.98', '10.10.10.99']
您也可以
print写入文件。它有一个参数file指定print行的输出位置,默认情况下等于sys.stdout. 但是您可以输出到文件:在这种情况下,
\n您不能添加它,因为print它会将其添加到行尾。这可以通过参数更改end。您可以从列表中创建一个字符串并将其写入文件:
由于此处已对保存方法进行了某种“审查”,因此我将允许自己进行一些补充。
第一的。在上述保存选项中,大文件最慢的选项是
file.write("\n".join(ips)). 当将所有内容组合成一个巨大的字符串变量时,它只会“吃掉”内存。另外两个在速度和结果上是相等的。第二。通常他们将数据保存在一个文件中,以便他们以后可以自己读取或将其传输给外部用户。如果假设第一个选项 - “我自己写,然后我自己读”,那么使用 pickle、json、shelve 模块通过序列化保存会更有效。
这将允许您稍后将整个列表“恢复”到一个变量中,而无需考虑如何解析 ips 中的行:
json - 通常速度较慢,但它以几乎标准的 json 格式保存,更人性化 - 您可以打开它并了解其中保存的内容。还有更多的序列化库有自己的特点,例如:jsonpickle、simplejson、demjson。它们都使用 json 格式,并以自己的方式扩展了Python 发行版中包含的标准json模块的功能。
最快但依赖于版本的序列化语言是通过内置模块实现的
marshal。代码几乎相同: