V 这是一个V
\ 这是反斜杠
/ 这是斜杠
Windows根目录:C:\ linux和OS X 路径:/
os.path.join()方法:返回文件路径,但是我们可以用它来批量生成文件路径名。
os.getcwd():获取当前工作目录
os.chdir():改变当前工作路径
但是如果更改的路径不存在的话,就会报错。
绝对路径:从根文件夹开始
相对路径:从当前工作目录开始
我们使用命令查看一些目录的时候,会发现存在. 和 ..文件夹。他们不是真正的文件夹,只是可以在路径中使用的特殊名称。
. 代表 这个文件夹
.. 代表 父文件夹
os.path模块是os模块中的模块。包含许多和文件名、文件路径相关的方法。
os.path.split():同时获取一个路径的目录名称和基本名称,以元组的形式放回。
相当于(os.path.dirname(calcFilePath), os.path.basename(calcFilePath))
如果想要获取列表返回值,可以用以下方法:
calcFilePath.split(os.path.sep)
['C:', 'Windows', 'System32', 'calc.exe']
'/usr/bin'.split(os.path.sep)
['', 'usr', 'bin']
根据程序运行的计算机,os.path.sep 变量设置为正确的文件夹分割斜杠
os.listdir(path)将返回文件名字符串的列表,包含 path 参数中的每个文件
这两个函数结合起来,可以统计到这个文件夹内所有文件合起来的大小。
import os
totalSize = 0
for filename in os.listdir('C:\\Windows\\System32'):
totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32', filename))
print(totalSize)
1、默认以只读模式打开
2、调用open()方法将返回一个file对象
File对象的read()方法会将整个文件内容当做一个大字符串,它会返回这个字符串。
请注意,每个字符串值都以一个换行字符\n 结束。除了文件的最后一行。与单 个大字符串相比,字符串的列表通常更容易处理
w:写模式,覆写原来的文件。
a:添加模式,在已有文件的末尾添加文件。(之前爬取小说的时候,使用的是w,一直只有第一章,原来如此呀)
import shelve
shelfFile=shelve.open('mydata')
cats=['zophie','pooka','simon']
shelfFile['cats']=cats
shelfFile.close()
上述代码运行后会在本地目录创建三个文件,这些二进制文件包含了存储在shelf中的数据。
import shelve
shelfFile=shelve.open('mydata')
print(type(shelfFile))
print(shelfFile['cats'])
shelfFile.close()
shelf 值有 keys()和 values()方法,返回 shelf 中键和值的类似列表的值。因为这些方法返回类似列表的值,而不是真正的列表,所以应该将它们传 递给 list()函数,取得列表的形式。在交互式环境中输入以下代码:
import shelve
shelfFile=shelve.open('mydata')
print(list(shelfFile.keys()))
print(list(shelfFile.values()))
import pprint
cats = [{'name': 'Zophie', 'desc': 'chubby'}, {'name': 'Pooka', 'desc': 'fluffy'}]
pprint.pformat(cats)
print(pprint.pformat(cats))
fileObj = open('myCats.py', 'w')
fileObj.write('cats = ' + pprint.pformat(cats) + '\n')
print(fileObj.write('cats = ' + pprint.pformat(cats) + '\n'))
fileObj.close()
我们导入了 pprint,以便能使用 pprint.pformat()。我们有一个字典的列表, 保存在变量 cats 中。为了让 cats 中的列表在关闭交互式环境后仍然可用,我们利用 pprint.pformat(),将它返回为一个字符串。当我们有了 cats 中数据的字符串形式, 就很容易将该字符串写入一个文件,我们将它命名为 myCats.py。
import myCats
print(myCats.cats)
print(myCats.cats[0])
print(myCats.cats[0]['name'])