os库主要是对文件和文件夹进行操作,在Python中对⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能。
具体步骤如下:
1. 导⼊os模块
import os
2. 使⽤ os 模块相关功能
os.函数名()
os.rename(⽬标⽂件名, 新⽂件名)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.rename('./test_folder', './new_folder')
print(os.listdir())
运行结果;
os.remove(⽬标⽂件名)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.remove('./text.txt')
print(os.listdir())
运行结果:
os.mkdir(⽂件夹名字)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.mkdir('./test_folder')
print(os.listdir())
运行结果:
os.rmdir(⽂件夹名字)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.rmdir('./test_folder')
print(os.listdir())
运行结果:
os.getcwd()
示例代码:
import os
print(os.getcwd())
运行结果:
os.chdir(⽬录)
os.listdir(⽬录)
示例代码:
import os
print(os.listdir())
运行结果:
os.path.driname(path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.dirname('./aa/python_test'))
print(os.path.dirname('./python_test'))
print(os.path.dirname(a))
运行结果:
os.path.basename(path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.basename(a))
print(os.path.basename('./aa/python_test'))
print(os.path.basename('./python_test'))
运行结果:
os.path.splitext(file_name)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.splitext(a))
print(os.path.splitext('./aa/python_test'))
print(os.path.splitext('./python_test'))
print(os.path.splitext('./python_test.python'))
运行结果:
os.path.abspath(__file__)
示例代码:
import os
current_path = os.path.abspath(__file__)
print(current_path)
current_folder = os.path.dirname(current_path)
print(current_folder)
运行结果:
os.path.abspath(string)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.abspath(a))
print(os.path.abspath('./aa/python_test'))
print(os.path.abspath('./python_test'))
print(os.path.abspath('./python_test.python'))
运行结果:
os.path.isdir(path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.isdir(a))
print(os.path.isdir('./aa/python_test'))
print(os.path.isdir('../111'))
print(os.path.isdir('./python_test.python'))
运行结果:
os.path.isfile(path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.isfile(a))
print(os.path.isfile('./aa/python_test'))
print(os.path.isfile('../111'))
print(os.path.isfile('./python_test.py'))
print(os.listdir())
运行结果:
os.listdir(dir_path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.listdir())
print(os.listdir('E:/代码/111'))
print(os.listdir('E:/代码/111/css'))
运行结果:
os.removedirs(dir_path)
示例代码1:
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.removedirs('./new_folder')
print(os.listdir())
运行结果:
示例代码2: 【必须是空文件夹】
import os
a = os.getcwd()
print(a)
print(os.listdir())
os.removedirs('./new_folder')
print(os.listdir())
运行结果:
os.path.exists(path)
示例代码:
import os
a = os.getcwd()
print(a)
if os.path.exists(a):
print('path exist!')
else:
print('path not exist!')
if os.path.exists('E:/代码/111'):
print('path exist!')
else:
print('path not exist!')
if os.path.exists('E:/代码/111/new_path'):
print('path exist!')
else:
print('path not exist!')
运行结果:
os.path.realpath(path)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.realpath('./python_test.py'))
运行结果:
os.path.join(path,name)
示例代码1:
import os
a = os.getcwd()
print(a)
b = os.path.join(a, 'works')
print(b)
运行结果:
示例代码2:
import os
print(os.path.join('xx', 'yy', 'zz'))
print(os.path.join('AA', 'BB', 'CC', 'DD'))
运行结果:
os.path.split()
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.split(a))
print(os.path.split('E:/代码/111/index.html'))
运行结果:
os.stat(file)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.stat(a))
print(os.stat('E:/代码/111/index.html'))
运行结果:
os.path.getsize(name)
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.getsize(a))
print(os.path.getsize('E:/代码/111/index.html'))
运行结果:
os.path.isabs()
示例代码:
import os
a = os.getcwd()
print(a)
print(os.path.isabs(a))
print(os.path.isabs('E:/代码/111/index.html'))
print(os.path.isabs('./index.html'))
运行结果:
使用os获取环境变量的值,通常是使用os.getenv("value"),也可以使用os.environ.get("value")。也能够直接在settings等文件中设置环境变量,使用os.environ["key"] = "value"。
详解博文:python获取环境变量中的值(Pycharm)_IT之一小佬的博客-CSDN博客
os.urandom(n)的作用就是随机生成n个字节的字符串,可以作为随机加密的key使用。
示例代码1:
import os
aa = os.urandom(6)
print(aa)
bb = aa.decode('utf-8', 'ignore')
print(bb)
运行结果:
示例代码2:
import os
for _ in range(5):
print(os.urandom(6))
运行结果:
需求:批量修改⽂件名,既可添加指定字符串,⼜能删除指定字符串。
步骤
1. 设置添加删除字符串的的标识
2. 获取指定⽬录的所有⽂件
3. 将原有⽂件名添加/删除指定字符串,构造新名字
4. os.rename()重命名
示例代码1:
import os
# 获取指定⽬录
dir_name = './'
# 获取指定⽬录的⽂件列表
file_list = os.listdir(dir_name)
print(file_list)
运行结果:
示例代码2: 【把flag=1改为flag=2即为删除功能】
import os
# 设置重命名标识:如果为1则添加指定字符,flag取值为2则删除指定字符
flag = 1
# 获取指定⽬录
dir_name = './'
# 获取指定⽬录的⽂件列表
file_list = os.listdir(dir_name)
print(file_list)
# 遍历⽂件列表内的⽂件
for name in file_list:
# 添加指定字符
if flag == 1:
new_name = 'Python-' + name
# 删除指定字符
elif flag == 2:
num = len('Python-')
new_name = name[num:]
# 打印新⽂件名,测试程序正确性
print(new_name)
# 重命名
os.rename(dir_name + name, dir_name + new_name)
运行结果: