JSON

Windows平台上,用Python处理Json文件的心得

字号+ 作者:H5之家 来源:H5之家 2017-12-07 08:05 我要评论( )

示例 Windows平台上,用Python处理Json文件 在json文件中记录程序的执行次数: 以读写模式打开文件; 每次读取文件、并将执行次数加一、写回文件。 import osimport json#os.remove("test.json")# remove the file if anyif not os.path.exists("test.json")

示例

Windows平台上,用Python处理Json文件
在json文件中记录程序的执行次数:

  • 以读写模式打开文件;
  • 每次读取文件、并将执行次数加一、写回文件。
  • import os import json #os.remove("test.json") # remove the file if any if not os.path.exists("test.json"): # create an empty file if not found print "creating test.json" with open("test.json", "wb") as fp: data = {"wanghuan": 0} fp.write(json.dumps(data)) with open("test.json", "rb+") as fp: # open with 'read and write' mode data = fp.read() data = json.loads(data) data["wanghuan"] += 1 data = json.dumps(data) fp.seek(0) # Warning: back to the start of the file before write the whole file fp.write(data) fp.seek(0) # Warning: back to the start before read the whole file data = fp.read() print data 1. 打开文件(以不同的模式) open() open(filename, mode)

    open()返回一个文件对象。

  • 第一个参数是一个含有文件名的字符串。
  • 第二个参数也是一个字符串,含有描述如何使用该文件的几个字符。
    mode为'r'时表示只是读取文件;w 表示只是写入文件(已经存在的同名文件将被删掉);
    'a'表示打开文件进行追加,写入到文件中的任何数据将自动添加到末尾。
    'r+'表示打开文件进行读取和写入。
  • mode 参数是可选的,默认为'r'。

    Notes: 在 Windows 平台上,模式后面追加 'b'

    在 Windows 平台上,模式后面追加 'b'表示以二进制方式打开文件,所以也有像'rb'、 'wb'和'r+b'这样的模式。Python 在Windows 平台上区分文本文件和二进制文件;读取或写入文本文件中时,行尾字符会被自动地稍加改变。这种修改对 ASCII文本文件没有问题,但会损坏JPEG或EXE这样的二进制文件中的数据。在读写这些文件时一定要记得以二进制模式打开。
    在Unix平台上,在模式后面附加一个'b'也不会有坏处,这样你可以用写好的文件访问代码来读写任何平台上的所有二进制文件。

    2. 删除文件 import os os.remove() 3. 判断文件是否存在 import os os.path.exists("test.json")

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • jsonlint:python的json数据验证库

      jsonlint:python的json数据验证库

      2017-12-06 09:00

    • 初学python,哪个教程比较好,网络的或者是书 都行

      初学python,哪个教程比较好,网络的或者是书 都行

      2017-12-04 13:00

    • 【转载】json数据的中文显示问题 python

      【转载】json数据的中文显示问题 python

      2017-12-03 16:23

    • 刘江的博客和教程网站

      刘江的博客和教程网站

      2017-12-02 16:08

    网友点评