在程序运行时,可以使用变量保存数据。但是程序关闭后,则所有的数据就都丢失了。如果希望程序结束后,数据仍然保持,则可以将数据保存在文件中。
1. 文件与文件路径
文件有两个关键属性:“文件名”和“路径”。路径指明了文件在计算机上的位置。而文件的“扩展名”之处文件的类型,如Hello.py表明这是一个python文件。虽然文件夹名称和文件名在Windows 和 OS X 上是不区分大小写的,但在 Linux 上是区分大小写的。
1) Windows上的反斜杠以及OS X和Linux上的斜杠
如果将单个文件和路径上的文件夹名称的字符串传递给os.path.join(),它就会返回一个文件路径的字符串,包含正确的路径分隔符。示例:
>>> myFiles = ['accounts.txt', 'details.csv','invite.docx']
>>> for filename in myFiles:
print(os.path.join('C:\\Users\\asweigart', filename))
C:\Users\asweigart\accounts.txt
C:\Users\asweigart\details.csv
C:\Users\asweigart\invite.docx
2) 当前工作目录
每个运行在计算机上的程序,都有一个“当前工作目录”,或 cwd。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。利用os.getcwd()函数,可以取得当前工作路径的字符串,并可以利用 os.chdir()改变它。示例:
>>> import os
>>> os.getcwd()
'C:\\Python34'
>>> os.chdir('C:\\Windows\\System32')
>>> os.getcwd()
'C:\\Windows\\System32'
如果更改的当前目录不存在,Python会报FileNotFoundError错误。
3) 绝对路径与相对路径
• “绝对路径”,总是从根文件夹开始。
• “相对路径”,它相对于程序的当前工作目录。
还有点(.)和点点(..)文件夹。它们不是真正的文件夹,而是可以在路径中使用的特殊名称。单个的句点(“点”)用作文件夹目名称时,是“这个目录”(当前目录)的缩写。两个句点(“点点”)意思是父文件夹。示例: