08文件读写和组织

1.python的文件读法在windows和Linux/os X上不一样,一个是backslash,一个是forward flash,为了统一,使用os.path.join()

import os

os.path.join(‘usr’,’bin’,’spam’)

2.修改文件路径;the current working directory

cwd文件夹

任何不是根目录里的文件都可以假设在pwd文件夹中,用os.getcwd()获取文件路径。同时也可以用os.chdir()更换文件路径;

import os
os.getcwd()
'C:\\Python34'
os.chdir('C:\\Windows\\System32')
os.getcwd()
'C:\\Windows\\System32'

3.创建文件

import os
os.makedirs('C:\\delicious\\walnut\\waffles')

4.相对路径绝对路径

#查看文件的绝对路径
os.path.abspath(path)
os.path.abspath('.\\Scripts')
'C:\\Python34\\Scripts'

#确定()内内容是否是绝对路径
os.path.isabs('.')
False
os.path.isabs(os.path.abspath('.'))
True

#查看一个文件对于另一个文件的相对路径
os.path.relpath(‘文件名’‘待比较文件名’)
>>> os.path.relpath('C:\\Windows', 'C:\\')
'Windows'
>>> os.path.relpath('C:\\Windows', 'C:\\spam\\eggs')
'..\\..\\Windows'
>>> os.getcwd() 'C:\\Python34'

5.基础名字和文件名

08文件读写和组织_第1张图片
图片 1.png
path = 'C:\\Windows\\System32\\calc.exe'
os.path.basename(path)
'calc.exe'

os.path.dirname(path)
'C:\\Windows\\System32'

如果希望将文件的dirname, basename放在同一个字符串里:

>>> calc = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.split(calc)
('C:\\Windows\\System32', 'calc.exe')

等同于

(os.path.dirname(calc), os.path.basename(calc))

所以split是个缩略词,所以比较好。

如果想将路径全部拆开,可以使用

>>>calc.split(os.path.sep)
['C:', 'Windows', 'System32', 'calc.exe']

如果是Linux和OS X的路径
则根目录会用空白表示,例如

>>>'/usr/bin'.split(os.path.sep)
['', 'usr', 'bin']

查看文件大小和文件目录

查看文件大小:os.path.getsize('/user/rachel/calc.exe')
查看文件目录(注意使用该函数是在os下,而不是os.path下):os.listdir('/user/user/rachel')

注意:getsize()只能获得一个文件的大小,如果想获得一个文件夹的大小,可以将os.path.getsize()和os.listdir()和os.path.join()一起用。

>>> totalSize = 0
>>> for filename in os.listdir('C:\\Windows\\System32'):
      totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32', filename))

>>> print(totalSize)
1117846456

1.验证路径是否正确,2.是否是一个文件,3,是否是文件夹

os.path.isdir()#是否为文件夹
os.path.isfile()#是否为文件
os.path.exists()#是否存在

文件的打开,阅读,书写

文件打开:

#如果是windows
>>> helloFile = open('C:\\Users\\your_home_folder\\hello.txt')

#如果是os X
>>> helloFile = open('/Users/your_home_folder/hello.txt')

文件阅读:

helloContent = helloFile.read()
print helloContent

文件阅读且保留file中跨行的格式:
例如hello.txt存在很多行
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,

sonnetFile = open('sonnet29.txt')
sonnetFile.readlines()


[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,']

你可能感兴趣的:(08文件读写和组织)