笑わないでください。ベース VM のホスト名と IP を置き換える簡単なスクリプトを作成しようとしています。私はこれの作業バージョンを持っていますが、より読みやすく簡潔にしようとしています。以下のコードを試すと、構文エラーが発生します。これらのリスト内包表記を作成しようとしましたが、それらはファイル タイプであるため、機能しません。前もって感謝します。
try:
old_network = open("/etc/sysconfig/network", "r+")
new_network = open("/tmp/network", "w+")
replacement = "HOSTNAME=" + str(sys.argv[1]) + "\n"
shutil.copyfile('/etc/sysconfig/network', '/etc/sysconfig/network.setup_bak')
for line in old_network: new_network.write(line) if not re.match(("HOSTNAME"), line)
for line in old_network: new_network.write(replacement) if re.match(("HOSTNAME"), line)
os.rename("/tmp/network","/etc/sysconfig/network")
print 'Hostname set to', str(sys.argv[1])
except IOError, e:
print "Error %s" % e
pass