python学习日志4

python写json文件

# coding: UTF-8
__author__ = 'Jum'

'''
try:
    f=open('./log.txt','a')  #r是读,w是写,a是追加
    #文件不存在就新建文件
    f.write('helloworld')
finally:
    if f:
        f.close()
#这个写法不够简洁
'''

print 'the number of area'
area_num = input()
i = 1
with open('./service1.json', 'a') as f:
    f.write('{')
while i <= area_num:
    str3 = ''
    j = 1
    while j <= area_num:
        if j != i:
            str3 = str3 + '''
                {
                    "rootport":%d,
                    "rootname":"area%d"
                },
            ''' % (40009 + j, j)
        j = j + 1
    str2 = '''
            "remoteport": [
                {
                    "rootport": 40005,
                    "rootname": "gate"
                },
                {
                    "rootport": 40006,
                    "rootname": "logproc"
                },
                %s
                {
                    "rootport": 40007,
                    "rootname": "messenger"
                },
                {
                    "rootport": 40008,
                    "rootname": "admin"
                }
            ],
            "name": "area%d",
            "db": ["jianghu", "profile", "logs"],
            "cache": ["memcached", "redis"],
            "app": "app.server_area",
            "reload": "app.area.reload",
            "log": "app/logs/area1.log"
    ''' % (str3, i)
    str1 = '''
    "area%d": {
        "rootport": %d,
        %s
    },''' % (i, i + 40009, str2)
    i = i + 1
    with open('./service1.json', 'a') as f:
        f.write(str1)
with open('./service1.json', 'a') as f:
    f.write('''"redispath": "C:\\\Users\\\Administrator\\\Downloads\\\Redis-x64-3.0.501"''')
with open('./service1.json', 'a') as f:
    f.write('}')


学习总结

1.python的文件打开方式和C语言是一样的,高级语言都有try...finally...来避免文件打不开的错误,但是写法复杂了些,python则提供类 with open() as file的简单方法来实现文件的操作

2.在写入文件的过程中字符串的拼接,可以实现格式化的文本。但是字符串的拼接遇到了很多不好理解的问题

如:

'''qwer\\\\qwer'''和r'''qwer\\\\qwer'''的结果不一样,以及'''"qwer\\\qwer"'''以及r'''"qwer\\\qwer"'''的结果是十分

''''''中是字符串的正常转义

r''''''中引号不转义但是转义字符\还是要转义

3.这种字符串的拼接十分的麻烦,下一篇将使用python对象转json文件的方法来处理



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值