Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么不是';我的代码没有将输出写入创建的文件吗?_Python - Fatal编程技术网

Python 为什么不是';我的代码没有将输出写入创建的文件吗?

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())

我试着用Python编写自己的脚本,从“iplist”变量中获取输出并将其打印到文本文件中,但是我仍然不明白为什么脚本会创建文件而不打印任何内容?我已经被困在这个问题上一天了,我在网上找到的任何东西似乎都帮不了我:/任何指点都将不胜感激

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