OS & pathlib2 模块
OS
os.非path
import os
1. getcwd
print(os.getcwd() )
2. chdir
os.chdir(r"D:\a")
print(os.getcwd())
3. makedirs/removedirs
os.makedirs(r'd:\a\b\c\d')
os.removedirs(r'd:\a\b\c\d')
4. mkdir/rmdir
os.mkdir('./abc')
os.rmdir('./abc')
5. remove
os.remove(r'D:\pythonProject\learning\c.py')
6. rename
os.rename("log.log", "bbb.bbb")
7. listdir
print(os.listdir(path))
8. os.environ
print(os.environ)
9. os.system
os.system(r'C:\Users\Administrator\Desktop\1.xlsx')
10. os.stat
print(os.stat(r'C:\Users\Administrator\Desktop\1.xlsx'))
11. os.kill
...
12. getpid/getppid
print(os.getpid())
print(os.getppid())
os.path
1. path.abspath
print(os.path.abspath('.'))
print(os.path.abspath('..'))
print(__file__)
2. path.split/path.splitext
print(os.path.split(r'D:\Anaconda3\condabin\123.xlsx'))
print(os.path.splitext(r'D:\Anaconda3\condabin\123.xlsx'))
3. path.join
print(os.path.join(os.getcwd(), '123.xlsx'))
4. path.dirname
print(os.path.dirname(r'D:\Anaconda3\condabin\123.xlsx'))
print(os.path.dirname(r'd:\a\b\c'))
5. path.basename
print(os.path.basename(r'D:\Anaconda3\condabin\123.xlsx'))
print(os.path.basename(r'd:\a\b\c'))
import datetime
def parser_timestamp(timestamp):
'''
将时间戳转结构化时间
:param timestamp: 时间戳
:return: 结构化时间
'''
return datetime.datetime.fromtimestamp(timestamp).strftime('%F %X')
6. path.getmtime
time1 = os.path.getmtime(r'D:\a\123.xlsx')
print(parser_timestamp(time1))
7. path.getatime
time2 = os.path.getatime(r'D:\EricWorking\阿吉豆bom\bomsummary.xlsx')
print(parser_timestamp(time2))
8. path.getctime
time3 = os.path.getctime(r'D:\EricWorking\阿吉豆bom\bomsummary.xlsx')
print(parser_timestamp(time3))
9. path.getsize
print(os.path.getsize(r'D:\EricWorking\阿吉豆bom\bomsummary.xlsx'))
10. path.exists
x = r'D:\EricWorking\阿吉豆bom\bomsummary22.xlsx'
print(os.path.exists(x))
11. path.isfile/path.isdir/path.isabs
print(os.path.isfile(x))
print(os.path.isdir(x))
print(os.path.isabs(path))
file_list = os.listdir(r'D:\EricWorking\阿吉豆bom')
file_list.sort(key=lambda x: os.path.getmtime(os.path.join(r'D:\EricWorking\阿吉豆bom', x)))
file_list.sort(key=lambda x: os.path.getctime(os.path.join(r'D:\EricWorking\阿吉豆bom', x)))
print(file_list[-1])
print(os.path.normpath(os.path.join(os.path.dirname(__file__), '..')))
print(os.path.dirname(os.path.dirname(__file__)))
import os
file = r'D:\eric'
def print_file(file):
path = os.listdir(file)
file_path = [os.path.join(file,i) for i in path]
for i in file_path:
if os.path.isdir(i):
print_file(i)
else:
print(i)
print_file(file)
pathlib2 (封装了os.path)
python3.5之后推出了pathlib2模块 用来处理路径
from pathlib2 import Path
1. cwd/home
print(Path.cwd())
print(Path.home())
2. parent/parents
print(Path.cwd().parent)
print(Path.cwd().parent.parent)
print(Path.cwd().parent.parent.parent)
for parent in Path.cwd().parents:
print(parent)
p = Path(r'D:\a\b\c')
print(p.parent)
print(p.parents)
print([*p.parents])
3. name/suffix/suffixes/stem/with_name/with_suffix
p = Path(r'C:\Users\Administrator\Desktop\1.xlsx')
print(p.name)
print(p.suffix)
print(p.suffixes)
print(p.stem)
print(p.with_name('22.xlsx'))
print(p.with_suffix('.txt'))
4. ,/joinpath/ /
print(Path(r'C:\Users', r'Administrator\Desktop', r'1.xlsx'))
print(Path(r'C:\Users', r'Administrator\Desktop').joinpath(r'1.xlsx'))
print(Path(r'C:\Users', r'Administrator\Desktop') / (r'1.xlsx'))
5. iterdir
p = Path(r'C:\Users\Administrator\Desktop')
print(p.iterdir())
print([*p.iterdir()])
6. mkdir/rmdir
p = Path(r'D:\aAA\bBB')
p.mkdir(parents = True, exist_ok = True)
p.rmdir()
7. is_dir/is_file/is_absolute/exists
p = Path(r'C:\Users\Administrator\Desktop\333.xlsx')
print(p.is_dir())
print(p.is_file())
print(p.is_absolute())
print(p.exists())
8. stat
p = Path(r'C:\Users\Administrator\Desktop\1.xlsx')
print(p.stat())
print(p.stat().st_size)
import datetime
print(datetime.datetime.fromtimestamp(p.stat().st_ctime))