1. 文件的两个属性:
1.文件名
2.文件路径
例如:文件 C:\Project\mytest.txt的文件名为mytext.txt,文件路径为C:\Project
2.window里面文件夹的分隔符使用反斜杠(倒斜杠),以1中举例:C:\Project\mytest.txt
os和linux里面文件夹的分隔符使用正斜杠 ,以1中举例:C:/Project/mytest.txt
3.window文件夹名称和文件名称不区分大小写
os和linux文件夹名称和文件名称区分大小写
4.join函数可以针对运行环境去自动处理路径
import os
print(os.path.join('C:\\usr','bin','spam'))
#windows处理结果 C:\usr\bin\spam
#os和linux处理结果 C:/usr/bin/spam
5.os的getcwd函数可以获取当前工作目录
import os
print(os.getcwd())
6.os的chdir可以改变当前工作目录
import os
print(os.getcwd())
os.chdir('C:\\usr\\bin')
print(os.getcwd())
最后一个print打印出的就是修改后的路径了
7.绝对路径和相对路径
绝对路径从根文件夹开始。
相对路径它相对于当前程序的当前工作目录。
.和..不是真正的文件夹,而是使用的指代文件夹的符号,其中.代表的当前工作目录。两个..代表的是当前工作目录上一级父目录。
8.使用os的makedirs创建新的文件夹,如果创建的文件夹的父文件夹不存在,则同时创建父文件夹
import os
os.makedirs('d:\\pj\\haha')
9.获取文件的绝对路径
import os
print(os.path.abspath('regtext.py'))
#执行结果 D:\pj\regtext.py
10.判断当前路径是否为绝对路径
import os
print(os.path.isabs('regtext.py'))
#执行结果 False
11.os.path.relpath(path,start)返回从start开始到结尾的路径,不包括start
import os
print(os.path.relpath('D:\pj\haha\good.txt','haha'))
#执行结果 good.txt
12.调用os.path.dirname返回文件的目录名称
import os
print(os.path.dirname('D:\pj\haha\good.txt'))
#处理结果 D:\pj\haha
13.调用os.path.basename返回文件基本名称
import os
print(os.path.basename('D:\pj\haha\good.txt'))
#处理结果 good.txt
14.调用os.path.split可以返回目录名称和基本名称
import os
print(os.path.split('D:\pj\haha\good.txt'))
#处理结果 ('D:\\pj\\haha', 'good.txt')
15.调用os.path.getsize获取文件的大小
import os
print(os.path.getsize('regtext.py'))
#处理结果 98
16.调用os.listdir返回目录下的文件列表
import os
print(os.listdir('D:\pj\haha'))
#处理结果 ['better.txt.txt', 'good.txt.txt']
17.计算文件夹下所有文件总大小
import os
totalsize=0
for file in os.listdir('D:\pj\haha'):
totalsize=totalsize+os.path.getsize(os.path.join('D:\pj\haha',file))
print(totalsize)
#处理结果 5
18.检查路径是否存在
import os
print(os.path.exists('d:\pj'))
#返回结果为 True
19.判断是否为文件夹
import os
print(os.path.isdir('d:\pj'))
#返回结果True
20.判断是否为文件
import os
print(os.path.isfile('d:\\pj\\regtext.py'))
#返回结果True
21.纯文本文件
概念:只包含基本文本字符,不包含字体、大小和颜色信息,可以用Notepad或TextEdit打开,例如:带.txt .py扩展名的文件
22.二进制文件
概念:除纯文本文件的其他文件。例如字处理文档、PDF、图像、电子表格和可执行程序。用Notepad或TextEdit打开会出现乱码。
23.python中读文件的三个步骤
前提:导入os
一.调用open()函数,返回一个File对象
二.调用File对象的read()或write()方法
三.调用File对象的close()方法,关闭该文件
24.python读取文件
import os
myfile=open('d:\\pj\\haha\\good.txt')
print(myfile.read())
#返回结果 good day
25.python按行读取文件,并存到数组里
import os
myfile=open('d:\\pj\\haha\\good.txt')
print(myfile.readlines())
#返回结果 ['good morning\n','good night']
26.python写入文件---更新方式
import os
myfile=open('d:\\pj\\haha\\good.txt','w')
myfile.write('hello world\n')
#执行结果 如果原来没有文件,就新建文件,如果原来有文件就更新文件内容为hello world
27.python写入文件----追加方式
import os
myfile=open('d:\\pj\\haha\\good.txt','a')
myfile.write('hello world2\n')
#执行结果 如果原来没有文件,就新建文件,如果原来有文件就在原文件内容最后写入hello world2
28.python使用shelve保存变量
import shelve
shelfFile=shelve.open('mydata')
cats=['good','better','best']
shelfFile['cats']=cats
shelfFile.close()
#执行结果 在当前工作目录创建了3个文件mydata.bak、mydata.dat 和 mydata.dir。如果在OS上执行,则只会创建一个文件mydata.db
29.python读取shelve里面的数据
import shelve
shelfFile=shelve.open('mydata')
print(type(shelfFile))
print(shelfFile['cats'])
print(list(shelfFile.keys()))
print(list(shelfFile.values()))