5.11 文件路径�的�作¶
问题¶
ä½ éœ€è¦�使用路径å��æ�¥èŽ·å�–文件å��,目录å��,ç»�对路径ç‰ç‰ã€‚
解决方案¶
使用 os.path 模å�—ä¸çš„函数æ�¥æ“�作路径å��。
下é�¢æ˜¯ä¸€ä¸ªäº¤äº’å¼�例å�æ�¥æ¼”示一些关键的特性:
>>> import os
>>> path = '/Users/beazley/Data/data.csv'
>>> # Get the last component of the path
>>> os.path.basename(path)
'data.csv'
>>> # Get the directory name
>>> os.path.dirname(path)
'/Users/beazley/Data'
>>> # Join path components together
>>> os.path.join('tmp', 'data', os.path.basename(path))
'tmp/data/data.csv'
>>> # Expand the user's home directory
>>> path = '~/Data/data.csv'
>>> os.path.expanduser(path)
'/Users/beazley/Data/data.csv'
>>> # Split the file extension
>>> os.path.splitext(path)
('~/Data/data', '.csv')
>>>
讨论¶
对于任何的文件å��çš„æ“�ä½œï¼Œä½ éƒ½åº”è¯¥ä½¿ç”¨ os.path 模å�—,而ä¸�æ˜¯ä½¿ç”¨æ ‡å‡†å—符串æ“�作æ�¥æž„é€ è‡ªå·±çš„ä»£ç �。
特别是为了å�¯ç§»æ¤�性考虑的时候更应如æ¤ï¼Œ
å› ä¸º os.path 模å�—知é�“Unixå’ŒWindows系统之间的差异并且能够å�¯é� 地处ç�†ç±»ä¼¼ Data/data.csv
å’Œ Data\data.csv è¿™æ ·çš„æ–‡ä»¶å��。
å…¶æ¬¡ï¼Œä½ çœŸçš„ä¸�应该浪费时间去é‡�å¤�é€ è½®å�。通常最好是直接使用已ç»�ä¸ºä½ å‡†å¤‡å¥½çš„åŠŸèƒ½ã€‚
�注�的是 os.path 还有更多的功能在这里并没有列举出�。
å�¯ä»¥æŸ¥é˜…官方文档æ�¥èŽ·å�–更多与文件测试,符å�·é“¾æŽ¥ç‰ç›¸å…³çš„函数说明。