本篇将为自己方便再不同场所编写小小小功能的代码提供方便,也为有需要的小伙伴提供便利。
大佬如偶入寒舍,还请指点一二,如有更好的方案,欢迎评论区留言。
0x001 纯文本文件读写
f1 = open('filename1.txt', 'r')
f2 = open('filename2.txt', 'a')
for line in f1:
a = line
s = str(a)
f2.write(s + '\n')
f1.close()
f2.close()
为不影响代码快速复制使用,注释再下面:
# 打开文件1,mode为只读模式(r),句柄为 f1
# 打开文件2,mode为追加模式(a),句柄为 f2
# 遍历 f1 的每一行
# 将 line 赋值给变量 a (为了方便,我比较懒)
# ———— 空行留作其他操作喽! ————
# 因为写入时,只允许写入字符串格式,所以将 a 转换为字符串格式并赋值给 s
# 将 s 写入 f2 ,并加上 \n (换行符)
# 关闭 f1 文件
# 关闭 f2 文件
0x002 二维数据读写(以CSV格式为例)
f1 = open(filename1)
f2 = open(filename2, 'a')
ls = []
for line in f1:
line = line.replace("\n", "")
ls.append(line.split(","))
for item in ls:
f2.write(','.join(item) + '\n')
f1.close()
f2.close()
为不影响代码快速复制使用,注释再下面:
# 打开文件1,没有定义 mode 默认为 r 只读模式
# 打开文件2,定义为追加模式,当然如果时空文件你也可以定义为 写入模式(w)
# 二维数据需要使用列表,所以先生成一个空列表
# 遍历文件的每一行
# 用 replace 方法替换每行最后的 回车符(\n) 为 空字符串 "",因为CSV每行最后会有个回车
# 用 split 方法分隔 line 并用 “,” 隔开,最后再用 append 方法追加给列表 ls
# ———— 空行留作其他操作喽! ————
# 遍历列表 ls 中的每一个元素
# 用 .join 方法在 item 之间增加 ',' ,并且以字符串 + 方法在后面加了个回车,最后在以 .write 方法写入 f2
# 关闭 f1 文件
# 关闭 f2 文件
在处理二维数据的时候,难免需要遍历每一行的每一个元素,↓↓↓
ls = [[1,2],[3,4],[5,6]]
for row in ls:
for column in row:
print(column)
为不影响代码快速复制使用,注释再下面:
# 列表 ls ,此为随便举的例子,标识一共有三行,每行两个元素
# 遍历 行(row)
# 二层循环,遍历这一行的 column
# 打印这个列
hare
2020.1.2