有没有办法在shell脚本中写入文件,但是在python中写一些类似的东西:
cat >> document.txt <<EOF
Hello world 1
var=$var
Hello world 2
EOF
答案 0 :(得分:2)
with open('document.txt', 'w') as fp:
fp.write('''foo
{variable}
'''.format(variable = 42))
虽然您可能希望为每一行拨打fp.write
(或print
)几次,或使用textwrap.dedent
来避免空白问题,例如
with open('document.txt', 'w') as fp:
print >>fp, 'foo' # in 3.x, print('foo', file = fp)
print >>fp, variable
最好只阅读the tutorial。
答案 1 :(得分:2)
如果我正确理解了这个问题,那么您指的是bash中的here document功能。我不认为Python中有直接的等价物,但您可以使用"""
(三引号)输入多行字符串来分隔开头和结尾,例如。
>>> long_string = """First
... Second
... Third"""
>>> print long_string
First
Second
Third
然后您可以写入文件:
myFile = open("/tmp/testfile", "w")
myFile.write(long_string)
myFile.close()
并实现与bash示例完全相同的功能。