Mon*_*lik 17 python bash fabric
我想在远程主机上创建一个名为passenger_wsgi.py的文件.我想使用以下字符串来创建文件的内容:
'''
import sys, os
sys.path.insert(0, "/ruby/%s/www/%s/django-projects")
sys.path.insert(0, "/ruby/%s/www/%s/django-projects/project")
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
application = django.core.handlers.wsgi.WSGIHandler()
''' % (user,host,user,host)
Run Code Online (Sandbox Code Playgroud)
用户和主机变量将是结构功能的参数.
我是python中任何类型的文件操作的新手,但我也不确定在结构中应该采用什么程序.我应该在本地创建文件,然后使用fabric的put命令上传它(然后删除本地版本)?我应该使用适当的bash命令(使用fabric的运行)在远程主机上创建文件吗?如果是这样,那么如何最好地处理字符串中的所有"和" - 面料会逃脱吗?或者我应该以某种不同的方式解决这个问题?
And*_*cia 42
使用StringIO和put:
text = '''
import sys, os
sys.path.insert(0, "/ruby/%s/www/%s/django-projects")
sys.path.insert(0, "/ruby/%s/www/%s/django-projects/project")
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
application = django.core.handlers.wsgi.WSGIHandler()
''' % (user, host, user, host)
import StringIO
put(StringIO.StringIO(text), "remote-path")
Run Code Online (Sandbox Code Playgroud)