首页 > 编程语言 >什么是文件路径,Python中如何书写文件路径?

什么是文件路径,Python中如何书写文件路径?

时间:2022-10-17 21:46:10浏览次数:81  
标签:文件 Python demo 路径 文件夹 os exercise

当程序运行时,变量是保存数据的好方法,但变量、序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。Python 提供了内置的文件对象,以及对文件、目录进行操作的内置模块,通过这些技术可以很方便地将数据保存到文件(如文本文件等)中。

关于文件,它有两个关键属性,分别是“文件名”和“路径”。其中,文件名指的是为每个文件设定的名称,而路径则用来指明文件在计算机上的位置。例如,我的 Windows 7 笔记本上有一个文件名为 projects.docx(句点之后的部分称为文件的“扩展名”,它指出了文件的类型),它的路径在 D:\demo\exercise,也就是说,该文件位于 D 盘下 demo 文件夹中 exercise 子文件夹下。

通过文件名和路径可以分析出,project.docx 是一个 Word 文档,demo 和 exercise 都是指“文件夹”(也称为目录)。文件夹可以包含文件和其他文件夹,例如 project.docx 在 exercise 文件夹中,该文件夹又在 demo 文件夹中。

注意,路径中的 D:\ 指的是“根文件夹”,它包含了所有其他文件夹。在 Windows 中,根文件夹名为 D:\,也称为 D: 盘。在 OS X 和 Linux 中,根文件夹是 /。本教程使用的是 Windows 风格的根文件夹,如果你在 OS X 或 Linux 上输入交互式环境的例子,请用 / 代替。

另外,附加卷(诸如 DVD 驱动器或 USB 闪存驱动器),在不同的操作系统上显示也不同。在 Windows 上,它们表示为新的、带字符的根驱动器。诸如 D:\ 或 E:\。在 OS X 上,它们表示为新的文件夹,在 /Volumes 文件夹下。在 Linux 上,它们表示为新的文件夹,在 /mnt 文件夹下。同时也要注意,虽然文件夹名称和文件名在 Windows 和 OS X 上是不区分大小写的,但在 Linux 上是区分大小写的。

Windows上的反斜杠以及OS X和Linux上的正斜杠

在 Windows 上,路径书写使用反斜杠 "\" 作为文件夹之间的分隔符。但在 OS X 和 Linux 上,使用正斜杠 "/" 作为它们的路径分隔符。如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。

好在,用 os.path.join() 函数来做这件事很简单。如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join() 就会返回一个文件路径的字符串,包含正确的路径分隔符。在交互式环境中输入以下代码:

>>> import os
>>> os.path.join('demo', 'exercise')
'demo\\exercise'

因为此程序是在 Windows 上运行的,所以 os.path.join('demo', 'exercise') 返回 'demo\\exercise'(请注意,反斜杠有两个,因为每个反斜杠需要由另一个反斜杠字符来转义)。如果在 OS X 或 Linux 上调用这个函数,该字符串就会是 'demo/exercise'。

不仅如此,如果需要创建带有文件名称的文件存储路径,os.path.join() 函数同样很有用。例如,下面的例子将一个文件名列表中的名称,添加到文件夹名称的末尾:
  1. import os
  2. myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
  3. for filename in myFiles:
  4. print(os.path.join('C:\\demo\\exercise', filename))
运行结果为:

C:\demo\exercise\accounts.txt
C:\demo\exercise\details.csv
C:\demo\exercise\invite.docx

标签:文件,Python,demo,路径,文件夹,os,exercise
From: https://www.cnblogs.com/qlsh/p/16800793.html

相关文章

  • Linux基础_5_文件管理
    创建touch文件名#创建文件stat文件名#查看文件属性touch-am文件名#更改文件的访问时间及修改时间删除rm-rfs/*#递归强制删除s目录......
  • Python(for和while)循环嵌套及用法
    Python 不仅支持if语句相互嵌套,while和for循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如for里面还有for,while里面还有while,甚至while......
  • Python zip函数及用法
    zip()函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及range()区间构成的列表)“压缩”成一个zip对象。所谓“压缩”,其实就是将这些......
  • Python continue的用法
    和break语句相比,continue语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。仍然以在操作跑步为例,原计划跑10圈,但当跑到2圈半......
  • Python reversed函数及用法
    eserved()是Pyton内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。reserved()......
  • Python sorted函数及用法
    sorted()作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。sorted()函数的基本语法格式如下:list=sorted(iterable,key=None......
  • Python函数(函数定义、函数调用)用法详解
    Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如input()、print()、range()、len()函数等等,这些都是Python的内置函数,可以直接使用。除了可以直接......
  • 什么是面向对象,Python面向对象(一切皆对象)
    读者肯定听过 Python 中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说Python是面向对象的编程语言,本节将向大家详细介绍Python面向对象的含......
  • Python pass语句及其作用
    在实际开发中,有时候我们会先搭建起程序的整体逻辑结构,但是暂时不去实现某些细节,而是在这些地方加一些注释,方面以后再添加代码,请看下面的例子:age=int(input("请输入你......
  • Python if语句嵌套(入门必读)
    前面章节中,详细介绍了3种形式的条件语句,即if、ifelse和ifelifelse,这3种条件语句之间可以相互嵌套。例如,在最简单的if语句中嵌套ifelse语句,形式如下:if表达......