随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

文件有两个关键属性:“文件名”(通常写成一个单词)和“路径”。路径指明了文件在计算机上的位置。例如,我的 Windows 7 笔记

本上有一个文件名为projects.docx,它的路径在C:\Users\asweigart\Documents。文件名中,最后一个句点之后的部分称为文件的“扩展

名”,它指出了文件的类型。project.docx 是一个Word 文档,Users、asweigart和 Documents 都是指“文件夹”(也成为目录)。文件夹

可以包含文件和其他文件夹。例如,project.docx 在Documents 文件夹中,该文件夹又在asweigart 文件夹中,asweigart文件夹又在Users

文件夹中。路径中的 C:\部分是“根文件夹”,它包含了所有其他文件夹。在 Windows 中,根文件夹名为 C:\,也称为 C:盘。在 OS X 和

Linux 中,根文件夹是/。

#------------------------------------------------我是可耻的分割线-------------------------------------------

在文件夹层次结构中的一个文件:

1、Windows 上的倒斜杠以及 OS X 和 Linux 上的正斜杠

在Windows上,路径书写使用到斜杠作为文件夹之间的分隔符。但在OSX和Linux上,使用正斜杠作为它们路径的分隔符。如果想要

程序运行在所有操作系统上,在编写Python脚本时,就必须处理这两种情况。

好在,用os.path.join()函数来做这件事很简单。如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join()就会返回一个

文件夹路径的字符串,包含正确的路径分隔符。

示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#把文件名称传递给os.path.join()函数

path_file = os.path.join('usr', 'bin', 'spam')

#打印文件路径

print(path_file)

运行结果:

如果需要创建文件名称的字符串,os.path.join()函数就很有用。这些字符串将传递给几个文件相关的函数,本章将进行介绍。例如,下面的

例子将一个文件名列表中的名称,添加到文件夹名称的末尾。

示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#定一个列表,存放文件名

myFiles = ['accounts.txt', 'details.csv', 'invite.docx']

#循环文件名

for filename in myFiles:

#使用os.path.join()函数,把文件名作为第二个参数加上地址

print(os.path.join('C:\\Users\\asweigart', filename))

运行结果;

2、当前工作目录

每个运行在计算机上的程序,都有一个“当前工作目录”,或cwd。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。利用os.getcwd()函数

,可以取得当前工作路径的字符串,并可以利用os,chdir()改变它。

利用os.getcwd()函数获取当前工作目录,示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.getcwd()函数,获取当前工作路径

print(os.getcwd())

运行结果:

利用os.chdir()函数改变当前工作目录,示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.getcwd()函数,获取当前工作路径

print(os.getcwd())

#利用os.chdir(),改变当前目录

os.chdir('D:\\360Downloads\\Software')

#打印改变后的,当前目录

print(os.getcwd())

运行结果:

3、绝对路径与相对路径

有两种方法指定一个文件路径。

(1)“绝对路径”,总是从根文件夹开始。

(2)相对路径,它相对于程序的当前工作目录。

还有点(.)和点点(..)文件夹。它们不是真正的文件夹,而是可以在路径中使用的特殊名称。单个的句点(‘点’)用作文件夹名称时,是‘这个目录’的缩写

。两个句点(‘点点’)意思是父级文件夹。

下图是一些文件夹和文件的例子。如果当前工作目录设置为 C:\bacon,这些文件夹和文件的相对目录,就设置为下图所示的样子。

4、用os.makedirs()创建新文件夹,示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.makedirs()函数,创建新的文件夹

os.makedirs('D:\\Users\\Administrator')

运行结果:

5、os.path模块

os.path模块包含了许多与文件名和文件路径相关的有用函数。例如,你已经使用了os.path.join()来构建所有操作系统上都有效的路径。

因为os.path是os模块中的模块,所以只要执行import os就可以导入它。如果你的程序需要处理文件、文件夹或文件路径,就可以使用os模块。

6、处理绝对路径和相对路径

os.path模块提供了一些函数,返回一个相对的绝对路径,以及检查给定的路径是否为绝对路径。

(1)调用os.path.abspath(path),将返回参数的绝对路径的字符串。这就是相对路径转换为绝对路径的简单方法。

os.path.abspath()函数,示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.path.abspath()函数,取得当前工作目录的绝对路径(.句点表示为当前路径)

print(os.path.abspath('.'))

#利用os.path.abspath()函数,取得当前工作目录父级的绝对路径(..两个句点表示为当前路径的父级目录)

print(os.path.abspath('..'))

运行结果;

(2)调用os.path.isabs(path),如果参数是一个绝对路径,就返回True,如果参数是一个相对路径,就返回False。

os.path.isabs()函数,示例代码

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.path.isabs()函数,判断当前为绝对路径还是相对路径,传入绝对路径,返回True

print(os.path.isabs('C:\\Users\Administrator\PycharmProjects\test'))

#利用os.path.isabs()函数,判断当前为绝对路径还是相对路径,传入相对路径,返回False

print(os.path.isabs('.'))

#利用os.path.isabs()函数,判断当前为绝对路径还是相对路径,传入相对路径,返回False

print(os.path.isabs('..'))

运行结果:

(3)调用os.path.relpath(path,start)将返回从start路径到path的相对路径的字符串。如果没有提供 start,就使用当前工作目录作为开始路径。

os.path.relpath() 函数,示例代码:

#导入os模块

import os

print(os.path.relpath('C:\\Windows', 'C:\\'))

print(os.path.relpath('C:\\Users\Administrator\\PycharmProjects\\test', 'C:\\Users\\Administrator'))

运行结果:

7、查看文件大小和文件内容

一旦有办法处理文件路径,就可以开始搜集特定文件和文件夹的信息。os.path 模块提供了一些函数,用于查看文件的字节数以及给定文件夹中的文件

和子文件夹。

(1)调用 os.path.getsize(path)将返回 path 参数中文件的字节数。

os.path.getsize()函数,示例代码:

#利用os.path.getsize()函数,获取路径下所有文件的大小

print(os.path.getsize('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写'))

#利用os.path.getsize()函数,获取路径下指定文件的大小

print(os.path.getsize('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\Create_Folder.py'))

运行结果:

(2)调用os.listdir(path)将返回文件名字符串的列表,包含path参数中的每个文件(这个函数在os模块中,而不是os.path)

os.listdir()函数,示例代码:

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.listdir()函数,获取路径下的所有文件,并返回一个列表值

print(os.listdir('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写'))

运行结果;

8、检查路径的有效性

如果你提供的路径不存在,许多 Python 函数就会崩溃并报错。os.path 模块提供了一些函数,用于检测给定的路径是否存在,以及它是文件还是文件夹。

(1)如果path参数存在,并且是一个文件或文件夹存在,调用os.path.exists(path)将返回True,否则返回False.

os.path.exists()函数,示例代码:

#导入os模块

import os

#利用os.path.exists()函数,判断是否为文件或文件夹,是返回True,否则返回False.

print(os.path.exists('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写'))

#利用os.path.exists()函数,判断是否为文件或文件夹,是返回True,否则返回False.

print(os.path.exists('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\Create_Folder.py'))

#利用os.path.exists()函数,判断是否为文件或文件夹,是返回True,否则返回False.

print(os.path.exists('C'))

#利用os.path.exists()函数,判断是否为文件或文件夹,是返回True,否则返回False.

print(os.path.exists('Create_Folder.py'))

运行结果:

(2)如果path参数存在,并且是一个文件,调用os.path.isfile(path)将返回True,否则返回False.

#导入os模块

import os

#利用os.path.isfile()函数,判断是否为文件,是返回True,否则返回False.

#文件夹

print(os.path.isfile('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写'))

#文件

print(os.path.exists('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\Create_Folder.py'))

#字符

print(os.path.exists('C'))

#数字

print(os.path.exists('1'))

运行结果:

(3)如果path参数存在,并且是一个文件夹,调用os.path.isdir(path)将返回True,否则返回False.

#! python 3

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#导入os模块

import os

#利用os.path.isdir()函数,判断是否为文件,是返回True,否则返回False.

#文件夹

print(os.path.isdir('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写'))

#文件

print(os.path.isdir('C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\Create_Folder.py'))

#字符

print(os.path.isdir('C'))

#数字

print(os.path.isdir('1'))

运行结果:

python读取文件路径格式_Python学习笔记读写文件之文件与文件路径相关推荐

  1. python读取表格画散点图_python学习笔记-绘制散点图

    1.需求 读取excel的数据,绘制散点图,并保存图片. 2.所需要的包/模块 excel:xlrw 可视化:matplotlib 3.具体代码实现 #-*- coding:utf-8 -*- imp ...

  2. python从第二行开始读取文件_python学习笔记—— 从第二行开始读文件

    原博文 2018-04-16 16:26 − filename = info.txtf = open('info.txt') next(f) for line in f: print(line)nex ...

  3. python目录和文件的基本操作_python学习笔记(七)——文件和目录操作

    目录和文件操作 语言只有和外部连起来操作才会实现更强大的功能,比如操作文件.数据库等,这样数据可以有一块单独存储的地方,而不是存放在内存中.更强大的是网络编程,当然这些后续都会学习.接下来学习pyth ...

  4. python写完程序保存_Python学习笔记——文件处理

    1.文件路径 1.1 不同系统环境下的路径 1.2 当前工作目录 1.3 绝对路径和相对路径 1.4 新建文件夹-- os.makedirs() 2.文件的读写 2.1 打开文件 2.2 读写文件 3 ...

  5. python怎么写入到文件中_Python学习笔记之将数据写入到文件中

    原博文 2019-10-29 16:04 − 10-3 访客:编写一个程序,提示用户输入其名字:用户作出响应后,将其名字写入到文件guest.txt 中. 编写Python代码: 1 username ...

  6. python中sn的意思_python学习笔记

    学习资料:<简明 Python 教程.pdf>Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程. 特点:1.简单 2.易学 3.开源, ...

  7. python读取只读word只读_Python用于NLP :处理文本和PDF文件

    提示:代码图片可以点击全屏查看,双指操作还可以放大缩小. 这是我的Python用于自然语言处理(NLP)系列文章的第一篇文章.在本文中,我们将从Python for NLP的基础知识开始.我们将看到如 ...

  8. python读取图片的格式_python读取图片并修改格式与大小的方法

    本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下 # Author:NDK # -*- coding:utf-8 -*- from PIL import Im ...

  9. python编程16章教程_Python学习笔记__16.2章 TCP编程

    # 这是学习廖雪峰老师python教程的学习笔记 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算 ...

最新文章

  1. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库
  2. 寻找网页设计灵感的200佳网站推荐(系列二)
  3. oracle中set怎么用,sqlplus命令格式以及sqlplus中set的用法与解释-Oracle
  4. 神经网络通过研究任意单个星系,揭示整个宇宙的组成
  5. iview area 遇到的坑
  6. 公司的一道考试题算法分析——大数据量整数排序
  7. Buildroot stress-ng Linux系统压力测试
  8. jqxWidgets 常用代码
  9. 记录一次服务器大中间表优化的问题(数据倾斜的解决)
  10. 基于I2C总线的MPU6050学习笔记
  11. 【java学习之路】(java框架)006.springIOC
  12. [转]HashMap,LinkedHashMap,TreeMap的区别
  13. (转) 数字加密货币全球资源汇总
  14. Windows 10部署与管理指南(1)之环境准备篇
  15. 绩效考核的五大原则,你知道吗?
  16. 镜头焦距和视角大小计算
  17. 用Java代码编程实现模拟机器人对话
  18. x64 ASM 常用汇编指令
  19. 远程Debug远端服务器JVM配置
  20. 计算机显示器接法,电脑和显示器怎么连接_显示器连接电脑方法-win7之家

热门文章

  1. 华为OD机试真题2023 B卷(JAVAJS)
  2. pdf文件怎么修改颜色
  3. 音乐推荐--中川砂仁-Natsuhiboshi(夏日星)
  4. springboot+mybatisplus整合hana数据库,多数据源方式
  5. Crackme 29
  6. visio2013复制到word有多余白边_解决LaTex中插入Visio画图有多余边框的问题
  7. C#HttpHelper爬虫类源码分享--苏飞版
  8. 【推荐系统案例】基于协同过滤的电影推荐
  9. SNAT的作用是什么
  10. 教你创建virtuemart invoice收据 发票