对不同类的文件操作,需要调用相关的库文件,一般情况下,可以选择建立:写文件函数和读文件函数。在写文件与读文件函数中

我们可以采用:with  open('文件名','w', encoding='utf8') as f:  上下文管理方式来操作文件。
其中‘w’为打开文件模式,也可以是‘r’,还可以是‘a’

r  以只读方式打开文件。文件的指针将回放在文件的开头,这是默认模式

w 打开一个文件只用于写入。如果该文件已存在则覆盖,如果不存在,就创建新文件

a 打开一个文件用于追加。如果该文件已存在,就从结尾追加。如果没有就新建文件

接下来就是简单的代码演练了。

 def txt_writer():
"""写文件"""
with open('data.txt', 'w', encoding='utf8') as f:
f.write('优品课堂\n')
lines = [
'地址:北京市\n',
'QQ:95001678\n',
'网址:http://uke.cc'
]
f.writelines(lines) def txt_read():
"""读文件"""
# open中省略'r',也可以
with open('data.txt', encoding='utf8') as f:
# 两种方式读取文件
# for line in f:
# print(line, end='')
reader = f.readlines() # 这个与f.writelines对应
print(reader) if __name__ == '__main__':
txt_read()
 import json  # 调用json库不可少

 def json_basic():
data = {
"ID": 1,
"课程": "Python精讲",
"机构": "优品课堂",
"单价": 98.00,
"网址": "http://codr.cn"
}
print('原始数据')
print(data)
print('_ ' * 20)
json_str = json.dumps(data)
print(json_str)
print('_ ' * 20)
json_data = json.loads(json_str)
print(json_data) def json_write_file():
"""写json文档"""
data = {
"ID": 1,
"课程": "Python精讲",
"机构": "优品课堂",
"单价": 98.00,
"网址": "http://codr.cn"
}
with open('data.json', 'w', encoding='utf8') as f:
json.dump(data, f) # 向文件存储数据 def json_read_file():
"""读取json文件"""
with open('data.json', 'r', encoding='utf8') as f:
data = json.load(f) # 加载文件中的数据
print(data) def json_type_diff():
"""类型差异"""
# print(json.dumps(False))
data = {
'Discontinued': False, # 在json下False为false
'Tilte': 'iphone7s',
'category': None, # 在json下None为none
'Price': 5999.00
}
print(json.dumps(data))
# {"Discontinued": false, "Tilte": "iphone7s", "category": null, "Price": 5999.0} if __name__ == '__main__':
# json_basic()
# json_write_file()
# json_read_file()
json_type_diff()
 import xlrd

 def xl_read():
"""excel读取"""
book = xlrd.open_workbook('product.xlsx')
for sheet in book.sheets(): # 读取Excel表里的工作簿在表的下方sheet里
print(sheet.name) # 这里sheet的别名不能出现空格 def xl_read_data():
"""读取数据"""
# 用xlrd.open_workbook('文件名.xlxs')方式打开Excel文件
book = xlrd.open_workbook('product.xlsx')
sheet = book.sheet_by_name("product")
print('工作簿:{}'.format(sheet.name))
print('数据行数:{}'.format(sheet.nrows))
print("产品数据")
print("=" * 50)
for i in range(sheet.nrows):
print(sheet.row_values(i)) # 获取索引指定的数据行 if __name__ == '__main__':
# xl_read()
xl_read_data()
 import csv  # 调用csv库是不可少的
"""先运行csv_write部分即写入csv文件""" """这是csv文件的基本操作""" def csv_reader():
"""读取csv""" with open('my_course2.csv', encoding='utf8') as f:
reader = csv.reader(f) # 以列表的方式读取赋值给reader
# reader = csv.DictReader(f) # 以顺序字典表的方式读取赋值给reader
headers = next(reader) # 用next迭代方式打印
print(headers)
for row in reader:
print(row) def csv_write():
"""写入csv文件"""
""""先创建写的内容"""
headers = ["编号", "课程", "讲师"]
# 不能忘记每一行后面的“,”
rows = [
(1, "Python", "Eason"),
(2, "c#", "Eason"),
(3, "Django", "Eason"),
(4, ".NET", "Eason")
]
"""newline=''是为了写入文件的每一行不要有空行"""
with open('my_course.csv', 'w', encoding='utf8', newline='') as f:
writer = csv.writer(f)
writer.writerow(headers) # 写入标头
writer.writerows(rows) # 写入标头以下行writerows比上一行多个s def csv_writer_dict():
"""以dict形式写入csv"""
""""先创建写的内容"""
headers = ["ID", "Title", "org", "Url"]
# 不能忘记每一行后面的“,”
rows = [
{'ID': 1, 'Title': 'Python', 'org': 'youpinketang', 'Url': 'http://uke.cc'},
{'ID': 2, 'Title': 'Python', 'org': 'youpinketang', 'Url': 'http://uke.cc'},
{'ID': 3, 'Title': 'Python', 'org': 'youpinketang', 'Url': 'http://uke.cc'},
{'ID': 4, 'Title': 'Python', 'org': 'youpinketang', 'Url': 'http://uke.cc'},
dict(ID=5, Title='C#', org='youpinketang', Url='http://codr.cn'),
dict(ID=6, Title='C#', org='youpinketang', Url='http://codr.cn')
]
"""通过with... as ...形式方便程序进程管理"""
with open('my_course2.csv', 'w', encoding='utf8', newline='') as f:
writer = csv.DictWriter(f, headers) # 以字典表的形式写入文件
writer.writeheader() # 写入第一行标头
writer.writerows(rows) # 写入标头行以下行 if __name__ == '__main__':
# csv_write()
csv_reader()
# csv_writer_dict()

python之文件读写操作笔记的更多相关文章

  1. python里文件读写操作

    文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...

  2. 【Python】文件读写操作

    Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...

  3. python的文件读写操作

    文件读写 本文转自廖雪峰老师的教程https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640 读写文件是最常见的IO操作.Py ...

  4. python进阶--文件读写操作

    Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 ...

  5. python之文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)的作用

    'r':只读.该文件必须已存在. 'r+':可读可写.该文件必须已存在,写为追加在文件内容末尾. 'rb':表示以二进制方式读取文件.该文件必须已存在. 'w':只写.打开即默认创建一个新文件,如果文 ...

  6. QT文件读写操作笔记

    补一下这部分的笔记 简单的东西也记一下 操作系统一般都会提供一些列的标准对话框,如文件选择.字体选择.颜色选择等,这些标准对话框为应用层序提供了一致的观感.Qt对这些标准对话框都定义了相关的类,如:Q ...

  7. python 文件读写操作(24)

    以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...

  8. python(三)一个文件读写操作的小程序

    我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...

  9. Python之文件读写

    本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...

随机推荐

  1. 深入理解JVM——关于垃圾回收

    关于垃圾回收 仿佛来自上海居委会大妈的灵魂拷问:“你是什么垃圾?” 不 今天我们要说的是JVM的垃圾回收 假如我是一个“人”类的“对象”,也和人的生命一样必有一死,可是“我真的还想再活500年~~”, ...

  2. 使用tmate快速分享你的终端会话

    tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等).它是一个终端多路复用器,同时具有即时分享终端的能力.它允许在单个屏幕中创建并 ...

  3. commit 没有提交图片,但是出现了commit的修改

    .gitignore里面写上 image/cache/  就好了

  4. Mininet系列实验(三):Mininet命令延伸实验扩展

    1 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建.Python脚本编写.交互式界面创建. 2 实验原理 Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技术使 ...

  5. 表单Content-Type为multipart/form-data时,后台数据的接收

    我们在写form提交表单的时候,后台大多数用request.getParameter的方式来接收前台输入的数据.但如果我们表单中提交的数据包含file文件传输的话,我们需要将Content-Type改 ...

  6. TortoiseSVN 使用教程

    TortoiseSVN 使用教程 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录. TortoiseSVN 安装 下载地址:https ...

  7. git如何获取获取子模块的代码?

    答: 步骤如下: 1. git submodule init 2. git submodule update

  8. 面试准备4——C++相关知识

    指针和引用区别: (1)指针: 指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元: 引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已. 如: int a=1;in ...

  9. 判断Activty是否在前台运行

    /** * 判断某个界面是否在前台 * * @param context * @param className 某个界面名称 * */ public static boolean isActivity ...

  10. word 2010中设置默认粘贴为 只保留文本粘贴【visio也适用于快捷键方式】

    VISIO也适用如下方式: 3. 当然也可以直接是 Ctrl + Alt + V打开选择性粘贴选项卡 来选择其中某项来粘贴也是可以的 转: word 2010中设置默认粘贴为 只保留文本粘贴 2012 ...