## 什么是文件
我们知道电脑硬盘里存储着各种各样的数据,这一个个数据就是文件。比如:一张照片、一个excel文档、一个ppt、一个视频 这些都是文件。
![](https://windows7professional.files.wordpress.com/2009/12/padlocks-e1260414857482.jpg)
## 文件系统
这些文件散落在磁盘里,必须要有一个好的整理方式。不然找到这些文件就太难了。
操作系统的设计者使用了一个很精巧的方案来组织这些文件。在讲解电脑里的文件系统之前,我们先来看一个家谱图:
![](https://s1.ax1x.com/2018/08/22/PoIkYF.png)
通过亲属图,可以一下子知道我们一大家子有多少人。也可以知道分别在哪儿。
文件系统的设计思路跟这个类似,也是才有这种自顶向下的方式组织的:
![](https://upload-images.jianshu.io/upload_images/5408072-e28a8f1cc13ea1d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
通过这种结构,每个文件都可以通过我们的根目录(C盘、D盘)来找到。那我们查找、修改这些文件的时候就可以通过文件路径来操作了。
## 文件与文件夹
在我们的文件树中,有两种颜色的格子。橙色的格子是下面还有节点的,这种叫文件夹(里面存放一个个文件)。白色的是一个个文件,里面是具体的数据内容。文件夹本质上也是一个文件,只是它可以包含数据而已。
![](https://www.freeiconspng.com/uploads/txt-file-free-icon-18-67kb-0.jpg)
![](http://files.softicons.com/download/application-icons/must-have-icons-by-visualpharm/ico/Folder.ico)
# 文件操作
## 查找文件
有了文件树结构,那我们改怎么定位一个文件呢?比如我们要找:explorer.exe 这个文件该怎么找呢?我们可以从文件数的最顶层开始往下定位,直到找到这个位置。`c:\Windows\explorer.exe`。这个位置也叫文件目录。
文件路径:
**当前路径**:程序运行时所在的位置。`./`
**绝对路径**:从文件的根路径(c:\ d:\ ),开始到某个文件的路径叫绝对路径。`c:\Windows\explorer.exe`
**相对路径**:文件相对于当前路径所在的位置。`./winhelp.exe`
## 用python对文件的一些操作
1. 打印当前路径
~~~
import os
currentPath = os.getcwd()
print(currentPath)
~~~
2. 获取路径下的所有文件名称
~~~
os.listdir(currentPath)
~~~
3. 输出某个文件的绝对路径
~~~
absPath=os.path.abspath("turtledraw.py")
print(absPath)
~~~
4. 输出某个文件的相对路径
~~~
relativePath = os.path.basename(absPath)
print(relativePath)
~~~
5. 获取文件的父目录?
~~~
parentPath = os.path.dirname(absPath)
print(parentPath)
~~~
6. 判断一个文件是否是一个文件夹
~~~
isFile = os.path.isdir(absPath)
print(isFile)
~~~
7. 判断文件路径下是否有这个文件
~~~
exits = os.path.exists(absPath)
print(exits)
~~~
8. 给文件改名字
~~~
os.rename(absPath, absPath+".new")
~~~
## 总结
文件系统作为电脑的最基础的数据组成,非常重要。这节课学习的内容较多。在记住这些python语法之前,一定要知道什么是文件系统,文件系统是怎么构成的。文件、文件夹的区别;当前路径,相对路径与绝对路径。知道了这些概念。下面的一些函数记不住了可以用百度或Google搜索。
- 课程介绍
- 搭建环境
- 什么是计算机
- 程序是怎么运行的
- 安装python
- 项目实例-安装IDE
- 变量和简单数据类型
- 数据&变量
- 数字
- 字符串
- 布尔类型
- 项目实例
- 容器-列表
- 容器
- 列表
- 项目实例
- 容器-字典
- 定义字典
- 项目实例
- 数据类型总结
- 条件语句
- python条件语句
- 项目实例
- 循环语句
- for循环
- while循环
- 项目实例
- 函数
- 5.0函数定义
- 5.2函数实战
- 6.文件系统
- 6.1 文件系统介绍&python查找文件
- 6.2 用python读写文件
- 7. python操作时间
- 8.面向对象
- 8.1 类和对象
- 8.2 继承和重写
- 8.3 面向对象项目实战
- 9 GUI编程
- 9.1 GUI基础
- 9.2 备忘清单GUI版
- 10.网络
- 10.1 网络的发展
- 10.2 python http
- 11.web开发
- 11.1 web基础&HTML
- 11.2 CSS&JavaScript
- 11.3 网页计算器
- 11.3 网站开发实战-播客搭建
- 11.3 python-web
- 12. 项目实战-数据处理
- 13. 项目实战-AI入门
- 13.1 环境搭建
- 心得
- 13.2 Tensorflow的瓜怎么吃
- 14 pygame
- 14.1 pygame Helloworld
- 14.4 pygame 动画基础 Animation
- 从0开始学python第14.5节 pygame 加载图片和声音
- 从0开始学python第14.6节 pygame.sprite(上)
- 14.7 pygame.sprite模块(下)
- 14.8 pygame射击游戏(一)
- pygame射击游戏(二)
- 14.8 pygame射击游戏(三)
- 14.8 pygame射击游戏(四)
- 14.8 pygame射击游戏(五)