前言 :
1、例子1.2需求是,添加数据实际是只有年月日,但是数据库里面显示是年月日 00:00:00
例如: 20190101 -》20190101 00:00:00
20190101是.txt的可变值,而00:00:00是固定值
2、例子2.2
信息是通过第三方faker库自动生成的,把生成的值存入txt文件夹
1、读取python文件模板
f = open('D://qq//atp//atp//report//date.txt', 'rb') # 以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
line = f.readlines()
for i in line:
data = i.decode()
print(data)
f.close() # 关闭文件
在这里插入代码片
1.1例子
将读取的变量和数字合起来使用
# 时间是不固定的,后缀加'00:00:00'
f = open('D://qq//atp//atp//report//date.txt', 'rb') # 以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
line = f.readlines()
for i in line:
data = i.decode()
print(data+"00:00:00")
f.close() # 关闭文件
1.2 时间在一行去显示
from datetime import datetime
def get_date(date_string: str, from_format: str = '%Y-%m-%d %H:%M:%S', to_format: str = '%Y/%m/%d %H:%M:%S'):
try:
return datetime.strptime(date_string, from_format).strftime(to_format)
except ValueError as ve:
return date_string
def ReadLine(file, line: int = None, mode='r+', encode='utf-8'):
try:
with open(file=file, mode=mode, encoding=encode) as f:
lines = f.readlines()
if line is None:
return lines
else:
return lines[line]
except IndexError as ie:
return None
except UnicodeDecodeError as ud:
return None
except FileNotFoundError as fnf:
return None
if __name__ == '__main__':
file_path = 'D://qq//atp//atp//report//date.txt'
for line in ReadLine(file_path):
dateline = get_date(line.replace('\n',''),'%Y/%m/%d','%Y/%m/%d 00:00:00')
print(dateline)
我们可以当模板去使用,只需要改变时间的.txt文本就可以
2、保存python文件模板
data = open(r'D://qq//atp//atp//report//hello.txt', 'w') # 以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
txt = "hello"
data.write(txt)
data.close() # 关闭文件
2.1例子
将faker与存入文件搭配使用
from faker import Faker
fake=Faker("zh-CN")
data = open(r'D://qq//atp//atp//report//hello.txt', 'w+') # 以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
for i in range(10):
na = fake.name()
data.write(na)#写入内容可以根据个人情况取改变,我的na是姓名的意思
data.close() # 关闭文件
备注:数据然在一堆,我们换行来处理
from faker import Faker
fake=Faker("zh-CN")
data = open(r'D://qq//atp//atp//report//hello.txt', 'w+') # 以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读,
for i in range(10):
na = fake.name()
data.write(na+"\n")#写入内容可以根据个人情况取改变,我的na是姓名的意思
data.close() # 关闭文件
2.2如果我们的数据是多行,我们的模板如下
from pypinyin import lazy_pinyin
from faker import Faker
import random
fake=Faker("zh-CN")
data = open(r'D://qq//atp//atp//report//hello.txt', 'w')
for i in range(10):
na = fake.name()
pinyin = ''.join(lazy_pinyin(na))
phone=fake.phone_number()
bir=fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None)#本月
money=random.randint(500000.00, 2000000.00)
sex1=random.choice(['M', 'F'])
has='N'
data.write(na + '\t' + fake.phone_number() + '\n')#只需要拼值,这里的na是姓名 number是手机号
data.close() # 关闭文件
2.3 信息存入excle文件
from pypinyin import lazy_pinyin
from faker import Faker
import random
fake=Faker("zh-CN")
data = open(r'D://hello1.xls', 'w')
for i in range(10):
na = fake.name()
pinyin = ''.join(lazy_pinyin(na))
phone=fake.phone_number()
bir=fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None)#本月
money=random.randint(500000.00, 2000000.00)
sex1=random.choice(['M', 'F'])
has='N'
data.write(na + '\t' + fake.phone_number() + '\n')#只需要拼值,这里的na是姓名 number是手机号
data.close() # 关闭文件
3、文件的属性意义
r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容;
w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写。
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。
————————————————
版权声明:本文为CSDN博主「cathyspring」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cathyspring/article/details/79444242