Python 为什么不是';我的代码没有将输出写入创建的文件吗?
我试着用Python编写自己的脚本,从“iplist”变量中获取输出并将其打印到文本文件中,但是我仍然不明白为什么脚本会创建文件而不打印任何内容?我已经被困在这个问题上一天了,我在网上找到的任何东西似乎都帮不了我:/任何指点都将不胜感激Python 为什么不是';我的代码没有将输出写入创建的文件吗?,python,Python,我试着用Python编写自己的脚本,从“iplist”变量中获取输出并将其打印到文本文件中,但是我仍然不明白为什么脚本会创建文件而不打印任何内容?我已经被困在这个问题上一天了,我在网上找到的任何东西似乎都帮不了我:/任何指点都将不胜感激 import socket import time as t from os import path def ip_list(dest): iplist = socket.gethostbyname_ex(socket.gethostname())
import socket
import time as t
from os import path
def ip_list(dest):
iplist = socket.gethostbyname_ex(socket.gethostname())
date = t.localtime(t.time())
name = "IP addresses on %d_%d_%d.txt" % (date[1], date[2], date[0] % 100)
if not (path.isfile(name)):
file = open(name, 'w')
for str in iplist:
print >>f, str
f.close() ## has to match open indentation
if __name__ == '__main__':
destination = "C:\\Users\\kl\\Desktop\\python files\\"
ip_list("destination")
raw_input("Done!")
我还应该补充一点,我也尝试过使用“f.write()”命令,但这可能没有多大帮助?仅供参考,仅当文件不存在时才会打印。另外,你有一行
f.write(x)
,但是x
没有任何价值。哦,我忘了把它去掉了,好主意。即使删除了它也不会写…:(print>>f,str
应该是print>>file,str
或者将file=open(name,'w')
重命名为f=open(name,'w')
。你也可以使用write()
(而不是print>>f,str
),f.write(str)
我在读这篇文章之前就意识到了这一点,现在我感觉真的……特别:)我仍然很感激答案,我正在使用Atom编写代码,“file”变量以蓝色显示,这让我自动认为它很重要/内置。现在我知道了。是的,你不应该对变量使用关键字……既不是file
也不是str