2

我在这里有一个简单的 bash 命令,用于我用 Python 重写的脚本,我已经做了很多搜索,但没有找到一个简单的答案。我正在尝试将 Print 的输出回显到文件中,确保没有换行符并且我可以将变量传递给它。这里只是一个小片段(有很多这样的行):

echo "    ServerName  www.${hostName}" >> $prjFile

现在我知道它最终会看起来像:

print ("ServerName www.", hostName) >> prjFile

对?但这不起作用。请注意,这是在 Python 2.6 中(因为将运行此脚本的机器正在使用该版本,并且还有其他依赖于坚持该版本的依赖项)。

4

2 回答 2

7

语法是;

print >>myfile, "ServerName www.", hostName,

其中 myfile 是以模式打开的文件对象"a"(用于“追加”)。

尾随逗号可防止换行。

您可能还想使用sys.stdout.softspace = False来防止 Python 在逗号分隔的参数之间添加空格print,和/或将内容打印为单个字符串:

print >>myfile, "ServerName www.%s" % hostName,
于 2013-05-31T12:59:10.360 回答
3

你可以尝试一个简单的:

myFile = open('/tmp/result.file', 'w') # or 'a' to add text instead of truncate
myFile.write('whatever')
myFile.close()

在你的情况下:

myFile = open(prjFile, 'a') # 'a' because you want to add to the existing file
myFile.write('ServerName www.{hostname}'.format(hostname=hostname))
myFile.close()
于 2013-05-31T12:58:57.173 回答