Python 将套接字模块的输出写入文件

Python 将套接字模块的输出写入文件,python,python-2.7,Python,Python 2.7,我正在尝试获取计算机的主机名,然后将其写入文件。到目前为止,这就是我所得到的,但它不起作用,我错在哪里 def testing(): os.mkdir("zzzdirectory") os.chdir("zzzdirectory") fo=open("testfolder.txt", "wb") fo.write("this is the first line of the file\n") s=socket.gethostname() fo.wr

我正在尝试获取计算机的主机名,然后将其写入文件。到目前为止,这就是我所得到的,但它不起作用,我错在哪里

def testing():
    os.mkdir("zzzdirectory")
    os.chdir("zzzdirectory")
    fo=open("testfolder.txt", "wb")
    fo.write("this is the first line of the file\n")
    s=socket.gethostname()
    fo.write(s)
    fo.close()

testing()
您似乎没有导入所需的模块。另外,您应该尝试使用
with
语句来处理文件。它更像蟒蛇

import os
import socket

def testing():
    os.mkdir("zzzdirectory")
    os.chdir("zzzdirectory")
    s=socket.gethostname()
    with open("testfolder.txt", "wb") as fo:
        fo.write("this is the first line of the file\n")
        fo.write(s)

testing()

你需要提供更多的细节,什么方式不起作用,你有什么错误奇怪的,对不起,它看起来像是因为某种原因而切断了我文章的前3或4行:/。。。。。它就是印不出来。得到的只是“这是文件的第一行\n”,我希望下一行是我的计算机的主机名。似乎socket.gethostname()行被跳过了,我想也许可以将它保存到%s,然后打印?有人编辑了你的文章,删除了不相关的细节,从而删除了丢失的行。我们需要的是相关的详细信息,如您收到的错误消息或不正确的输出。啊!谢谢你,我找了很久才找到答案。谢谢你/每个人的帮助。非常感谢。@ashishnitinpail,您为什么建议使用
writelines
?它仅在编写字符串序列时有用。可以使用字符串对象,因为它被视为单个字符串的序列。但是,如果参数是字符串对象,
write
就足够了。这个问题不是很清楚,所以我建议writeline添加两个import语句。我唯一的目的是避免alistair在书中提到的
\n
(我愚蠢地甚至没有删除)@alistair希望将它们放在两行中,因此建议:/不客气。我只是希望正确的答案被接受。