Python os.system附加到第一个字母的文件剪切
这是我在这里的第一篇帖子,所以我希望,我不会问得太糟糕 我最近开始自学python(3),并在这个网站上找到了很多解决问题的方法,但现在我陷入了一个没有解决方案的问题。 当我想把一个系统命令的输出写入一个文件时,它会切断它的第一行,这是我用灰色标出的Python os.system附加到第一个字母的文件剪切,python,python-3.x,Python,Python 3.x,这是我在这里的第一篇帖子,所以我希望,我不会问得太糟糕 我最近开始自学python(3),并在这个网站上找到了很多解决问题的方法,但现在我陷入了一个没有解决方案的问题。 当我想把一个系统命令的输出写入一个文件时,它会切断它的第一行,这是我用灰色标出的 file.write("Mailserver: \n \n") os.system("dig" + " " + domain + " " + "MX | grep MX >> %s" % filename) 如果我以google.c
file.write("Mailserver: \n \n")
os.system("dig" + " " + domain + " " + "MX | grep MX >> %s" % filename)
如果我以google.com为例,我最终会把它放在我的文件中:
le.com.
google.com. 600 IN MX 50 alt4.aspmx.l.google.com.
google.com. 600 IN MX 30 alt2.aspmx.l.google.com.
google.com. 600 IN MX 20 alt1.aspmx.l.google.com.
google.com. 600 IN MX 40 alt3.aspmx.l.google.com.
而输出应该是
; <<>> DiG 9.11.5-P1-1-Debian <<>> google.com MX
;google.com. IN MX
google.com. 262 IN MX 40 alt3.aspmx.l.google.com.
google.com. 262 IN MX 10 aspmx.l.google.com.
google.com. 262 IN MX 20 alt1.aspmx.l.google.com.
google.com. 262 IN MX 30 alt2.aspmx.l.google.com.
google.com. 262 IN MX 50 alt4.aspmx.l.google.com.
我添加了最后一行来打印挖掘的结果,这给出了一个正确的结果,而上面的一行仍然只给出了我定义的文件中的剪切文本
有人对此有解决方案或想法吗?我有点被我的问题缠住了。听着,我相信你的问题是因为你执行了一个命令,使用
os.system
写入一个打开的文件。因此,您需要在运行命令之前关闭该文件
因此,与其
file.write("Mailserver: \n \n")
os.system("dig" + " " + domain + " " + "MX | grep MX >> %s" % filename)
你需要做到:
file.write("Mailserver: \n \n")
file.close() #close the file
os.system("dig" + " " + domain + " " + "MX | grep MX >> %s" % filename)
file = open('%s' % filename, 'a') #open it again
您打开
文件的模式是什么??是w
还是a
?file=open(“%s”%filename,“w+”)@anwarvicusea
而不是w+
:)这样做了,现在它添加了整个文本,但将其放在文件的开头。有没有办法让我把它放在文件的末尾呢?请你把整个代码都发出来好吗?谢谢:)还有几千行要写,但我真的很喜欢python。
file.write("Mailserver: \n \n")
file.close() #close the file
os.system("dig" + " " + domain + " " + "MX | grep MX >> %s" % filename)
file = open('%s' % filename, 'a') #open it again