os模块学习记录
一、os模块的常用操作
os模块提供了许多与操作系统交互的功能。这些功能包括读取或写入文件、操作文件路径、管理进程等。以下是一些os模块中常用功能的示例
1、获取当前工作目录:
import os
current_directory = os.getcwd()
print(current_directory)
2、改变当前目录,切换到其他目录,和linux系统下的cd 命令是同样的效果
import os
os.chdir('/path/to/new/directory')
3、列出当前目录的内容
import os
files_in_directory = os.listdir('.')
print(files_in_directory)
4、创建新目录
创建单个的目录
import os
os.mkdir('new_directory')
创建嵌套的目录
import os
os.makedirs('test/demo/demo2')
5、删除目录,这个命令只能删除空的目录
import os
os.rmdir('empty_directory')
6、删除文件
os.remove('file_to_remove.txt')
7、在Liunx环境上使用python执行命令
- system里放的是在linux环境下的执行的命令
import os
result = os.system('ls -l') # 在Unix-like系统上执行ls -l命令
8、获取环境变量
- 常用于获取Linux环境下的环境变量
import os
home_directory = os.getenv('HOME')
print(home_directory)
9、获取操作系统路径分隔符,
在不同的操作系统上,路径分割符是不一样的。windows系统是\, linux系统和mac是/
print(os.sep)
10、获取操作系统的名字
获取正在使用的工作平台,windows下是nt,linux/unix环境下是posix
os.name
11、检查文件或者目录是否存在
import os
if os.path.exists('file_or_directory'):
print("It exists!")
else:
print("It doesn't exist.")
12、检查是否为文件
import os
if os.path.isfile('some_path'):
print("It's a file!")
13、检查是否为目录
import os
if os.path.isdir('some_path'):
print("It's a directory!")
14、获取文件的大小
import os
size_in_bytes = os.path.getsize('file_path')
print(size_in_bytes)
15、获取文件路径的各部分
import os
path = '/path/to/file.txt'
directory, filename = os.path.split(path)
print(directory)
print(filename)
16、获取文件的扩展名
import os
extension = os.path.splitext('file.txt')[1]
print(extension) # 输出: .txt
二、os的 path模块的扩展
方法名 && 功能作用
os.path.exists(path) 判断path是否存在,path既可以是目录,也是是文件,如果存在返回True,反之返回False
os.path.isfile(path) 判断path是否是文件,如果是返回True
os.path.isdir(path) 判断path是否是目录,如果是返回True
os.path.isabs(path) 判断路径是否是绝对路径
os.path.basename(path) 获取文件名
os.path.dirname(path) 获取路径名
os.path.getsize(path) 获取文件大小
os.path.getatime(path) 获取最近访问时间
os.path.getctime(path) unix是最新的元数据更改的时间,windows系统下是文件创建时间
os.path.getmtime(path) 获取文件内容最近修改时间
os.path.abspath(path) 获取绝对路径
os.path.split(path) 分割路径
os.path.splitext(path) 分割文件名,返回由文件名和扩展名组成的元组
os.path.join() 拼接路径
三、简单总结一下:
-
os 后直接 接命令的。
基本是
1、新建,修改,删除文件夹和文件
2、查看操作系统相关的
3、执行系统命令。os.system可以执行系统命令,比如Linux -
os.path提供了对文件和目录更加细致的操作
1、使用上面的命令,建立一个目录和文件
import os
a = os.getcwd()
print('当前的文件的目录是【%s】不包括文件名,只有目录' % a)
dir_name = 'AAA_demo'
# 判断是否存在指定的目录,没有就建立一个
if os.path.exists(dir_name):
print('This dir is exitst ')
else:
print('创建新的目录')
os.mkdir(dir_name)
# 检查文件是否为目录
b = os.path.exists(dir_name)
if b:
print('存在一个叫做%s的目录' % dir_name)
else:
print('不存在一个叫做%s的目录' % dir_name)
# 删除目录(只能删除空目录)
os.rmdir(dir_name)
print('删除一个叫做%s的目录' % dir_name)
if os.path.exists(dir_name):
print('存在一个叫做%s的目录' % dir_name)
else:
print('不存在一个叫做%s的目录' % dir_name)
# 再次创建一个目录,并且也创建一个文件
dir_name = os.path.join(dir_name, dir_name, dir_name)
print(dir_name)
os.makedirs(dir_name)
fire_dir = os.path.join(dir_name, 'file.txt')
print('路径和文件拼接起来:fire_dir:', fire_dir)
with open(fire_dir, mode='w') as f:
f.write('This is a test about os ')
if os.path.exists(fire_dir):
print('文件被创造好了')
2、文件路径的获取操作
import os
dir_name = os.getcwd()
dir_name = os.path.join(dir_name, 'second.py')
print(dir_name)#
# dirname是获取这个文件(文件或目录)的目录,不包含这个文件的名字,即上一层的路径。
# abspath是获取这个(文件或目录)的位置,包含这个文件的名字, 即绝对路径
b = os.path.dirname(dir_name)
c = os.path.abspath(dir_name)
print('b:', b)
print('c:', c)
d = os.path.dirname(b)
print('d:', d)