Python读写文件

Python读写文件文件和文件路径文件有两个关键属性:文件名(通常写为一个单词)和路径。该路径指定计算机上文件的位置。例如,我的Windows 7笔记本电脑上有一个文件,文件名为project.docx,位于路径C:\ Users \ asweigart \ Documents中。最后一个句点之后的文件名部分称为文件的扩展名,并告诉您文件的类型。project.docx是一个Word文档,Us...
摘要由CSDN通过智能技术生成

Python读写文件

文件和文件路径

文件有两个关键属性:文件名(通常写为一个单词)和路径。该路径指定计算机上文件的位置。例如,我的Windows 7笔记本电脑上有一个文件,文件名为project.docx,位于路径C:\ Users \ asweigart \ Documents中。最后一个句点之后的文件名部分称为文件的扩展名,并告诉您文件的类型。project.docx是一个Word文档,Users,asweigart和Documents都引用文件夹(也是叫目录)。文件夹可以包含文件和其他文件夹。例如,project.docx位于Documents文件夹中,该文件夹位于asweigart文件夹中,该文件夹位于Users文件夹中。图8-1显示了此文件夹组织。
在这里插入图片描述
路径的C:\部分是根文件夹,其中包含所有其他文件夹。在Windows上,根文件夹名为C:\,也称为C:驱动器。在OS X和Linux上,根文件夹是/

Windows上的反斜杠和OS X和Linux上的Forward Slash

在Windows上,使用反斜杠(\)作为文件夹名称之间的分隔符来编写路径。但是,OS X和Linux使用正斜杠(/)作为其路径分隔符。如果希望程序在所有操作系统上运行,则必须编写Python脚本来处理这两种情况。

幸运的是,这对os.path.join()函数来说很简单。如果传递路径中单个文件和文件夹名称的字符串值,os.path.join()将使用正确的路径分隔符返回带有文件路径的字符串。在交互式shell中输入以下内容:

在Windows上,使用反斜杠(\)作为文件夹名称之间的分隔符来编写路径。但是,OS X和Linux使用正斜杠(/)作为其路径分隔符。如果希望程序在所有操作系统上运行,则必须编写Python脚本来处理这两种情况。

幸运的是,这对os.path.join()函数来说很简单。如果传递路径中单个文件和文件夹名称的字符串值,os.path.join()将使用正确的路径分隔符返回带有文件路径的字符串。在交互式shell中输入以下内容:


 import os 
 os.path.join('usr','bin','spam') 
输出:
'usr \\ bin \\ spam'

如果需要为文件名创建字符串,os.path.join()函数会很有用。这些字符串将传递给本章介绍的几个与文件相关的函数。例如,以下示例将名称从文件名列表连接到文件夹名称的末尾

import os

myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
for file in myFiles:
    print(os.path.join("usr", 'lib', file))

当前的工作目录

在您的计算机上运行的每个程序都有一个当前工作目录,或cwd。假定任何不以根文件夹开头的文件名或路径都在当前工作目录下。您可以使用该os.getcwd()函数将当前工作目录作为字符串值获取并更改它os.chdir()

import os

print(os.getcwd())
os.chdir("C:\\windows\\system32")
print(os.getcwd())

输出:
在这里插入图片描述
如果您尝试更改为不存在的目录,Python将显示错误
在这里插入图片描述
注意
虽然文件夹是目录的更现代的名称,但请注意当前工作目录(或仅工作目录)是标准术语,而不是当前工作文件夹。

绝对与相对路径

有两种方法可以指定文件路径。

一个绝对路径,它总是与根文件夹开始

一个相对路径,这是相对于程序的当前工作目录

还有dot(.)和dot-dot(…)文件夹。这些不是真正的文件夹,而是可以在路径中使用的特殊名称。文件夹名称的单个句点(“点”)是“此目录”的简写。两个句点(“点 - 点”)表示“父文件夹”。

图8-2是一些文件夹和文件的示例。当前工作目录设置为C:\ bacon时,其他文件夹和文件的相对路径设置如图所示。
在这里插入图片描述
该\在相对路径的起点是可选的。例如,。\ spam.txt和spam.txt引用相同的文件。

使用os.makedirs()创建新文件夹

您的程序可以使用该os.makedirs()功能创建新文件夹(目录)

import os

os.makedirs("da
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值