python代码实现备忘录案例讲解

文件操作

TXT文件

读取txt文件

读取txt文件全部内容:

def read_all(txt):
   ...:     with open(txt,\'r\') as f:
   ...:         return f.read()
   ...:     
read_all(\'test.txt\')
Out[23]: \'a,b,c,d\\ne,f,g,h\\ni,j,k,l\\n\'

按行读取txt文件内容

def read_line(txt):
   ...:     line_list = []
   ...:     with open(txt,\'r\') as f:
   ...:         for line in f.readlines():
   ...:             line_list.append(line)
   ...:     return line_list
   ...: 
read_line(\'test.txt\')
Out[27]: [\'a,b,c,d\\n\', \'e,f,g,h\\n\', \'i,j,k,l\\n\']

保存文件

直接保存字符串。

str = \'aaaabbbbcc\'
with open(\'test.txt\',\'w\') as f:
   ...:     f.write(str)
   ...: 
with open(\'test.txt\',\'r\') as f:
   ...:     print(f.read())
   ...: 
aaaabbbbcc

将列表中内容写入txt文件。

直接写入

data = [\'a\',\'b\',\'c\']
   ...: with open(\"data.txt\",\"w\") as f:
   ...:     f.writelines(data)
   ...: 
with open(\'data.txt\',\'r\') as f:
   ...:     print(f.read())
   ...: 
abc

按行写入。

data = [\'a\',\'b\',\'c\']
with open(\'data.txt\',\'w\')as f:
   ...:     for i in data:
   ...:         i = str(i)+\'\\n\'
   ...:         f.write(i)
with open(\'data.txt\',\'r\') as f:
   ...:     print(f.read())
   ...: 
a
b
c

CSV文件

读取csv文件

使用python内置csv读取.csv文件内容。

import csv
with open(\'test.csv\', \'r\') as f:
    data = csv.reader(f)
    print(next(data))
[\'filename\', \'label\']

写入csv文件

使用python内置csv写入.csv文件。

import csv
with open(\'data.csv\', \'w\')as file:
    dtwt = csv.writer(file)
    dtwt.writerow([\'世\', \'间\', \'美\', \'好\', \'与\', \'你\', \'环环\', \'相\', \'扣\'])
import csv
with open(\'data.csv\', \'r\') as f:
    data = csv.reader(f)
    print(next(data))

Json文件

xml文件

路径操作

Random包

生成随机数

random.random()

**random.random()**作用是生成一个0到1之间的随机数,范围包括0但不包括1,即 [0,1)。

random.random()
Out[3]: 0.990545986753395

random.randint(start, end)

**random.randint(start,end)**作用是产生start到end的一个随机整数,要求start和end均为整数型。

random.randint(1,10)
Out[4]: 3

random.uniform(start, end)

**random.uniform(start,end)**作用是产生start到end的一个随机浮点数,start和end不需要为整数型。

random.uniform(2.3,5)
Out[5]: 4.370526664286709

元素取值

random.choice(seq)

** random.choice(seq)**作用是从序列seq中随机选取一个元素。

alist = [\'a\',1,2]
random.choice(alist)
Out[7]: 2

random.sample(population,k)

** random.sample(population,k)**作用是从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。

blist= [1,2,3,4,5]
random.sample(blist,4)
Out[11]: [4, 5, 2, 3]
blist
Out[12]: [1, 2, 3, 4, 5]

打乱序列

random.shuffle(x)

** random.shuffle(x)**作用是把序列x中的元素顺序打乱。shuffle直接改变原有的序列。

clist = [\'a\',\'b\',\'c\',\'d\']
random.shuffle(clist)
clist
Out[15]: [\'d\', \'a\', \'c\', \'b\']

设置随机种子

random.seed()

** random.seed()**的作用是改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数, 注意其实是伪随机数,只要初始值一样,得到的结果会是一样的,在python中,默认用系统时间作为seed。你也可以手动调用random.seed(x)来指定seed。

random.seed(20)
random.randint(1,10)
Out[17]: 3
random.randint(1,10)
Out[18]: 5
random.seed(20)
random.randint(1,10)
Out[20]: 3

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容