Python文件

文件内建函数

内建函数open()

file_object = open(file_name, access_mode='r', buffering=-1)

工厂函数file()

open()file() 函数具有相同得功能,可以任意替换。

Python的文件模式

模式 说明
r 只读模式
w 只写模式。创建新文件(删除同名的任何文件)
a 附加到现有文件(如果文件不存在则创建一个)
r+ 读写模式
b 附加说明某模式用于二进制文件, 即’rb’或者’wb’
U 通用换行模式。提示我们忽略不同的换行符公约,单独使用’U’或附加到其他读模式(’rU’)

文件内建方法

file.read(size=-1)

file.readline(size=-1)

file.readlines(sizhint=0)

file.close()

file.flush()

file.next()

file.seek(off, whence=0)

file.write(str)

file.writelines(seq)

命令行参数

  • sys.argv 是命令行参数得列表
  • len(sys.argv) 是命令行参数得个数

文件系统

  • os模块
  • os.path模块

永久存储模块

picklemarshal 模块, 更‘聪明’的shelve模块。

pickle 模块中得两个主要函数是dump()load().

csv2json

import json
fr = open("test.csv", "r")
ls = []
for line in fr:
    line = line.replace("\n", "")
    ls.append(line.split(','))
fr.close()

fw = open("test.json", "w")
for i in range(1, len(ls)):
    ls[i] = dict(zip(ls[0], ls[i]))
json.dump(ls[1:], fw, sort_keys=True, indent=4)
fw.close()

json2csv

import json
fr = open("test.json", "r")
ls = json.load(fr)
data = [ list(ls[0].keys()) ]
for item in ls:
    data.append(list(item.values())]
fr.close()

fw = open("test.csv", "w")
for item in data:
    fw.write(",".join(item) + "\n")
fw.close()

你可能感兴趣的:(Python)