0

笑わないでください。ベース 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
4

1 に答える 1