python入门9:读取文件数据,将数据写入文件

从文件中读取数据

读取整个文件:将被读取文件放在程序所在目录,打开文件open()才可访问;
读取整个文件:会在被运行的程序目录下查找要打开的文件;
函数open():括号内为接受的参数,即文件名称;
关键字with:会在不需要访问文件后将其关闭,无需调用close();
方法read():读取文件内的全部内容,read在到达文件末尾时会返回一个空字符串,删除多出来的空行,可使用rstrip();
文件路径:提供路径让python自己去查找,可以不将文件与程序文件放在同一目录,反斜杠!!!;
相对文件路径:大的路径相同,那么只需要提供不重复的路径部分;
绝对文件路径:整个完整的路径,反斜杠不行,就双反斜杠;
逐行读取:以每次一行的方式检查文件,可使用for循环,rstrip();
创建一个包含文件各行内容的列表:目的是可在with代码块外使用列表;
使用文件的内容:python将其中所有的文本都视为字符串;
包含100万位的大型文件:可以指定显示的小数点数量,其余都没变化;
圆周率的生日

with open('pi_digits.txt') as file_object:#打开文件
    contents = file_object.read() #读取文件内容
    print(contents)#打印文件内容

#出现空行,用rstrip()
with open('pi_digits.txt') as file_object:#打开文件
    contents = file_object.read() #读取文件内容
    print(contents.rstrip())#打印文件内容

#相对文件路径
with open('text_files\filename.txt') as file_object:

#逐行读取
filename = 'pi_digits.txt'
with open(filename) as file_object:
    for line in file_object:
        print(line)

#创建一个包含文件各行内容的列表:  
filename = 'pi_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()#读取每一行,并存储到一个列表中
for line in lines:
    print(line.rstrip())#可以在with代码块外使用列表

#使用文件的内容
filename = 'pi_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()#行存入列表
pi_string = ''#空变量
for line in lines:
    pi_string += line.strip()#使用strip()删除空格
    print(pi_string)
    print(len(pi_string))

#大型文件
filename = 'pi_million_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()
pi_string = ''
for line in lines:
    pi_string += line.strip()
print(pi_string[:52] + "...")#只显示到小数点后50位
print(len(pi_string))


filename = 'pi_million_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()
    pi_string = ''
for line in lines:
    pi_string += line.rstrip()
    birthday = input("Enter your birthday, in the form mmddyy: ")
    if birthday in pi_string:
        print("Your birthday appears in the first million digits of pi!")
    else:
        print("Your birthday does not appear in the first million digits of pi.")

写入文件

写入空文件:"w",.write(),括号内是指要写入的内容;
其他模式:"r",读取模式,"a",附加模式,"r+",读取并写入;
其他模式:若省略了模式形参,则默认只读,使用"w"要小心是否有重名;
写入文件:只能将字符串写入文件,数值得先转换为字符串;
写入多行:write()后无换行符,需手动添加;
添加到文件:将模式形参设置为"a",把要添加的内容write进去就🆗;

#写入空文件,写入多行
filename = "write_try.txt"
with open(filename, "w") as object:
#第一个实参告诉python要打开的文件,第二个是表明要进入写入模式;
    object.write("I love python!\n")
    object.write("I love you.\n")
    
with open(filename, "a") as object:
    object.write("Could I love you anymore?")

存储数据

json模块:能够将简单的python结构数据转储到文件中,程序运行数据再现,并且可共享;
json.dump()

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值