python文件的打开,读入,写入

文件打开方式

r:只读模式,用于打开文件以供读取。如果文件不存在,会引发 FileNotFoundError 异常。

w:覆盖写模式,用于创建或打开文件以供写入,如果文件已经存在,会完全覆盖原文件的内容。

x:创建写模式,用于创建新文件以供写入,如果文件已经存在,会引发 FileExistsError 异常。

a:追加写模式,用于创建或打开文件以供写入,如果文件不存在,会创建新文件,如果文件已经存在,会在原文件最后追加内容。

b:二进制文件模式,用于指示文件以二进制模式打开。例如,rb 表示以二进制模式打开文件以供读取。

t:文本文件模式,用于指示文件以文本模式打开。这是默认模式,通常不需要显式指定。

+:与 r、w、x、a 一同使用,表示在原有模式的基础上增加读写功能。

文件读入的方法

f.read(size=-1): 从文件中读取整个文件内容。参数 size 是可选的,如果给出,将读取前 size 长度的字符串或字节流。

f.readline(size=-1): 从文件中读取一行内容。参数 size 是可选的,如果给出,将读取该行前 size 长度的字符串或字节流。

f.readlines(hint=-1): 从文件中读取所有行,以每行为元素形成一个列表。参数 hint 是可选的,如果给出,将读取 hint 个字节。

f.seek(offset): 改变当前文件操作指针的位置,其中 offset 的值可以是:

0:文件开头。
2:文件结尾。

请注意,如果文件以文本文件方式打开,则读取的是字符串数据;如果文件以二进制方式打开,则读取的是字节流。根据打开方式不同,可以选择适合的读取方法来处理文件内容。

文件写入方法

f.write(s): 向文件写入一个字符串或字节流
f.writelines(lines): 将一个元素为字符串的列表整体写入文件

例题

question_2

请编写程序,生成随机密码。具体要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(1)使用 random 库,采用 0x1010 作为随机数种子。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(2)密码 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&* 中的字符组成。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(3)每个密码长度固定为 10 个字符。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(4)程序运行每次产生 10 个密码,每个密码一行。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(5)每次产生的 10 个密码首字符不能一样。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

(6)程序运行后产生的密码保存在“随机密码.txt”文件中。

import random
random.seed(0x1010)
initial = "" #存放首字母
ls = [] #存放密码
while len(ls) < 10:
    ret = ""
    for i in range(10):
        res = random.choice("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!")#从该字符串随机选一个
        ret = ret + res
    if ret[0] in initial:  #如果该密码的首字母在首字母仓库存在
        continue
    else:
        ls.append(ret)
        initial  += ret[0]
secret = '\n'.join(ls)
print(secret)
with open("随机密码.txt", "w", encoding = "utf_8") as f:
    f.write(secret)

你可能感兴趣的:(python,python,开发语言)