Python学习之路-----os模块的文件、文件夹常用方法,列表等高级数据类型存文件

    os,Operating System,也就是操作系统的意思,这个模块封装了一些操作系统对文件、文件夹的操作。要想使用这个模块里面的方法需要想导入这个模块。

一些基本例子

判断文件是否存在:os.path.exist(文件路径)

文件重命名:os.rename(原文件名字,新文件名字)

删除文件:os.remove(文件路径)

创建文件:使用with open()as即可

创建文件夹:os.mkdir( 文件夹路径 )

得到当前程序所在的路径:os.getcwd()

改变路径:os.chdir(路径)

得到当前目录的基本信息:os.listdir( 路径名字 )

删除空目录:os.rmdir( 目录所在路径 )


list等存文件

        使用open()打开文件之后,可以使用write()写入文件数据,但是写入的只能是字符串。因此list、dict、tuple等高级数据类型不能直接写入文件,虽然可以通过str()将其强制转换成字符串来达到写入文件的目的,但是写入的数据已经完全变成字符串,丢掉了原有的数据类型导致读文件的时候无法知晓文件中原由的数据类型是怎样的。此时为了达到顺利写入文件并读出文件需要使用序列化和反序列化的知识点。

    序列化和反序列化暂时不在这里讲述,下面讲一下eval()方法。它可以把一串字符按它的外在形式做相应的转化。

list1 = [{"key1":"value1"},{"key2":"value2"},{"key3":"value3"},{"key4":"value4"}]

with open("write.txt","w") as f:
    f.write(str(list1))
结果:

在write.txt文件中会有内容:

[{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}]

接下来读取write.txt并还原成原来数据类型

with open("write.txt","r") as f:
    content = f.read()
    print("content:",content)
    print("type(content):",type(content))
    print("-" * 20)
    result = eval(content)
    print("type(result):",type(result))
    print("result:",result)

结果:
content: [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}]
type(content): <class 'str'>
--------------------
type(result): <class 'list'>
result: [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}, {'key4': 'value4'}]



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值