python基础(七)

文件的相关操作流程

 

计算机系统分为:计算机硬件,操作系统,应用程序三部分。

 

我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来。

 

有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件的流程:

1 #1. 打开文件,得到文件句柄并赋值给一个变量
2 f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
3 
4 #2. 通过句柄对文件进行操作
5 data=f.read()
6 
7 #3. 关闭文件
8 f.close()

 

 

1.文件操作的函数

  open(文件名(路径),mode="?",encoding="字符集"")
  
文件路径:
  1).绝对路径,从磁盘的根目录或者从互联网上寻找一个路径.
  2).相对路径,相对于当前程序所在的文件夹 ../上层文件夹 (这个使用的比较多)
 文件的读写
1 f = open("哈哈哈哈哈", mode="r", encoding="UTF-8")
2 s = f.read()
3 print(s)
4 f.close()

  不管你读取了多少内容,光标在哪儿,写入的时候都是在结尾写入,除非上来就写入,这是写入是在开头

  最好用的读写同时存在的模式

  r+ 读写模式,先读后写

  w+ 写读模式,先写后读

1 f = open("阿西吧", mode="r+", encoding="utf-8")
2 s = f.read(3) # 读取三个字符
3 print(s)
4 f.write("不养了. 送人") # 在末尾写
5 f.close()

  write模式很少用,因为会清空文件中的内容.

2.文件的相关操作

  光标的操作

     seek(偏移量,位置)

     seek(0)   将光标移动到开头

     seek(0,2) 将光标移动到末尾

   truncate 截断

3.文件修改  

复制代码
 1 # 引入模块
 2 import os
 3 # 打开目标文件
 4 f1 = open("abc", mode="r", encoding="utf-8")
 5 with open("abc", mode="r", encoding="utf-8") as f1, \
 6      open("abc_副本", mode="w", encoding="utf-8") as f2: 
 7 for line in f1:
 8      line = line.replace("abc", "ABC")
 9      f2.write(line)
10 # 删除文件
11 os.remove("abc")
12 os.rename("abc_副本","abc")
复制代码

4.文件数据的相关处理 

       id,name,phone,car,home,salary
       1,alex,10086,特斯拉,于辛庄,5000000
       2,wusir,10010,五菱宏光,青年,400000
       3,taibai,10000,魔板单车,松兰堡,30000
       4,ritian,12345,小黄车,广东,30000

复制代码
 1 lst = []
 2 with open("2018-08-06.log", mode="r", encoding="utf-8") as f:
 3     first = f.readline().strip().split(",")
 4     for line in f:
 5         dic = {} # 每一行一个字典
 6         # 1,alex,10086,特斯拉
 7         ls = line.strip().split(",")
 8         for i in range(len(first)):
 9             dic[first[i]] = ls[i]
10         lst.append(dic)
11 print(lst)
复制代码

 

 

 
posted @   一二九  阅读(107)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示