通过python创建虚拟主机

Abh*_* py 2 python python-2.4

我已经创建了一个python(我使用2.4)脚本来自动在httpd.conf中创建一个虚拟主机.但是当我运行它时会出现以下错误:

Traceback (most recent call last):
  File "ApaPy2.py", line 2, in ?
    from io import open
ImportError: No module named io
Run Code Online (Sandbox Code Playgroud)

这是我的剧本

import os
from io import open
project = raw_input(u'Enter the name of project ')
domain = raw_input (u'Enter the domain ')
docroot = raw_input(u'Enter root folder ')

virtualhost=u"""
<VirtualHost *:80>
    ServerAdmin abhishek.verma@laitkor.com
    DocumentRoot /""" +docroot+ u"""/""" +project+ u"""
    ServerName """ +project+ u""".""" +domain+ u""".com
    ErrorLog logs/""" +project+ u""".com-error_log
    CustomLog logs/""" +project+ u""".com-access_log common
</VirtualHost>"""

f = open(u'/etc/httpd/conf/httpd.conf', u'a')
f.write(virtualhost)
f.close()
Run Code Online (Sandbox Code Playgroud)

Jon*_*nts 5

io模块在2.4中不存在(open在这种情况下您不需要它).我也会简化您的代码以使用字符串格式%代替:

project = raw_input(u'Enter the name of project ')
domain = raw_input (u'Enter the domain ')
docroot = raw_input(u'Enter root folder ')

virtualhost=u"""
<VirtualHost *:80>
    ServerAdmin abhishek.verma@laitkor.com
    DocumentRoot /%(docroot)s/%(project)s
    ServerName %(project)s.%(domain)s.com
    ErrorLog logs/%(project)s.com-error_log
    CustomLog logs/%(project)s.com-access_log common
</VirtualHost>"""

f = open(u'/etc/httpd/conf/httpd.conf', u'a')
f.write(virtualhost % dict(project=project, docroot=docroot, domain=domain)
f.close()
Run Code Online (Sandbox Code Playgroud)