python学习笔记 第八章(一)

import os
# 获取当前工作目录
print(os.getcwd())
print(os.path.join('usr', 'bin', 'spam'))
# 切换工作目录
os.chdir('C:\\Windows\\System32')
print(os.getcwd())
# 创建新文件夹
# os.makedirs('C:\\delicious\\walnut\\waffles')

C:\Users\xxp\PycharmProjects\second_if
usr\bin\spam
C:\Windows\System32
# os.path模块
# 返回参数的绝对路径的字符串
print(os.path.abspath('.'))
# 如果参数是一个绝对路径,就返回 True如果参数是一个相对路径,就返回 False。
print(os.path.isabs('.'))
print(os.path.isabs(os.path.abspath('.')))
# os.path.relpath(path, start)将返回从 start 路径到 path 的相对路径的字符串。
print(os.path.relpath('C:\\Windows', 'C:\\'))
print(os.path.relpath('C:\\Windows', 'C:\\spam\\eggs'))

C:\Users\xxp\PycharmProjects\second_if
False
True
Windows
..\..\Windows
# os.path.dirname(path)将返回一个字符串,它包含 path 参数中最后一个斜杠之前的所有内容。
print(os.path.basename('C:\\Windows\\System32\\calc.exe'))
# 调用 os.path.basename(path)将返回一个字符串,它包含 path 参数中最后一个斜杠之后的所有内容。
print(os.path.dirname("C:\\Windows\\System32\\calc.exe"))
# 调用 os.path.split(),获得这两个字符串的元组
print(os.path.split("C:\\Windows\\System32\\calc.exe"))

calc.exe
C:\Windows\System32
('C:\\Windows\\System32', 'calc.exe')
# 查看文件大小和文件夹内容
# 调用 os.path.getsize(path)将返回 path 参数中文件的字节数。
print(os.path.getsize('C:\\Windows\\System32\\calc.exe'))
# 调用 os.listdir(path)将返回文件名字符串的列表
print(os.listdir('C:\\Windows\\System32'))
# 同时使用 os.path.getsize()和 os.listdir()获取目录下所有文件的总字节数
totalSize = 0
for filename in os.listdir('C:\\Windows\\System32'):
    totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32', filename))
print(totalSize)

32256
['0409', '@AudioToastIcon.png', '@BackgroundAccessToastIcon.png', '@edptoastimage.png',
.......
 '{A6D608F0-0BDE-491A-97AE-5C4B05D86E01}.bat', '{EC94D02F-D200-4428-9531-05AF7F9799CB}.bat']
2210851581
# 检查文件的有效性
#如果 path 参数所指的文件或文件夹存在, 调用 os.path.exists(path)将返回 True,否则返回 False。
print(os.path.exists('C:\\Windows'))
# 如果 path 参数存在,并且是一个文件, 调用 os.path.isfile(path)将返回 True, 否则返回 False。
print(os.path.isdir('C:\\Windows\\System32'))
# 如果 path 参数存在, 并且是一个文件夹, 调用 os.path.isdir(path)将返回 True,否则返回 False
print(os.path.isfile('C:\\Windows\\System32\\calc.exe'))

True
True
True

# 文件读写过程
# 用 open()函数打开文件
helloFile = open('name.txt')
print(helloFile)
# 读取文件内容 (读取一次)
print(helloFile.read())
# 使用 readlines()方法,从该文件取得一个字符串的列表。
sonnetFile = open('name.txt')
print(sonnetFile.readlines())
# 写入文件
baconFile = open('bacon.txt', 'w')
baconFile.write('Hello world!\n')
baconFile.close()
baconFile = open('bacon.txt', 'a')
baconFile.write('Bacon is not a vegetable.')
baconFile.close()
baconFile = open('bacon.txt')
content = baconFile.read()
baconFile.close()
print(content)

<_io.TextIOWrapper name='name.txt' mode='r' encoding='cp936'>
hello world!
When, in disgrace with fortune and men's eyes,
I all alone beweep my outcast state,
And trouble deaf heaven with my bootless cries,
And look upon myself and curse my fate,
['hello world!\n', "When, in disgrace with fortune and men's eyes,\n", 'I all alone beweep my outcast state,\n', 'And trouble deaf heaven with my bootless cries,\n', 'And look upon myself and curse my fate,']
Hello world!
Bacon is not a vegetable.

# 用 shelve 模块保存变量
# 利用 shelve 模块, 你可以将 Python 程序中的变量保存到二进制的 shelf 文件中。
# 这样, 程序就可以从硬盘中恢复变量的数据。
import shelve
shelfFile = shelve.open('mydata')
cats = ['Zophie', 'Pooka', 'Simon']
shelfFile['cats'] = cats
shelfFile.close()

shelfFile = shelve.open('mydata')
print(type(shelfFile))
print(shelfFile['cats'])
shelfFile.close()

# 返回类似列表的值, 而不是真正的列表, 所以应该将它们传递给 list()函数, 取得列表的形式。
shelfFile = shelve.open('mydata')
print(list(shelfFile.keys()))
print(list(shelfFile.values()))
shelfFile.close()


['Zophie', 'Pooka', 'Simon']
['cats']
[['Zophie', 'Pooka', 'Simon']]

# 用 pprint.pformat()函数保存变量
import pprint
cats = [{'name': 'Zophie', 'desc': 'chubby'}, {'name': 'Pooka', 'desc': 'fluffy'}]
print(pprint.pformat(cats))
fileObj = open('myCats.py', 'w')
fileObj.write('cats = ' + pprint.pformat(cats) + '\n')
fileObj.close()

import myCats
print(myCats.cats)
print(myCats.cats[0])
print(myCats.cats[0]['name'])
[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]
[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]
{'desc': 'chubby', 'name': 'Zophie'}
Zophie

你可能感兴趣的:(python入门,让繁琐的工作自动化)