hand
_1_5_12
4
返回栏目
1k
9k
1k
1k
5k
1k
1k
1k
1k
3k
2k
1k
0.8k
2k
3k
1k
1k
0.7k
0.9k
1k
0.6k
0.4k
0.4k
0.3k
3k
2k
9k
0.4k
0.4k
0.8k
0.5k
3k
5k
1k
2k
2k
3k
5k
1k
1k
0.4k
0.5k
0.4k
0.6k
0.7k
1k
0.4k
0.3k
4k
0.5k
0k
0.3k
0k
0.2k
0.2k
0.3k
0.9k
0.9k
0.1k
0.9k
0.9k
1k
0.5k
6k
0.3k
0.4k
0.7k
0.6k
8k
3k
1k
1k
1k
1k
0k
2k
1k
1k
0.2k
5k
4k
5k
0.4k
0.8k
1k
1k
1k
0.1k
2k
1k
2k
6k
0k
2k
7k
1k
5k
2k
3k
1k
0k
1k
0.9k
0.4k
0.2k
1k
3k
4k
1k
1k
1k
2k
3k
0.7k
0.3k
0.5k
0.6k
1k
0.9k
3k
0.3k
4k
返回python栏目
作者:
贺及楼
成为作者
更新日期:2024-10-27 18:02:48
Python 的 os
库提供了与操作系统交互的功能,如文件和目录操作、环境变量访问、进程管理等。它允许程序执行路径操作、文件权限更改、系统信息获取等。os
库使得Python程序能够与底层操作系统紧密协作,执行系统级任务,是开发跨平台应用时不可或缺的工具。
文件夹路径图
ospag
├── dirname
├── dirname1
│ └── dirname2
└── os_test.py
分类 | 方法 | 中文 | Win | Linux | Mac |
---|---|---|---|---|---|
操作系统信息 | linesep = os.linesep |
输出当前平台使用的行终止符 | \t\n |
\n |
\n |
操作系统信息 | pathsep = os.pathsep |
输出用于分割文件路径的字符串 | ; |
: |
: |
操作系统信息 | name = os.name |
输出字符串指示当前使用平台 | nt |
posix |
posix |
环境变量 | environ_keys = os.environ.keys() |
系统全部环境变量 | KeysView(environ({'KEY': 'VALUE',...})) |
KeysView(environ({'KEY': 'VALUE',...})) |
KeysView(environ({'KEY': 'VALUE',...})) |
环境变量 | environ_setdefault = os.environ.setdefault("key_name", "value") |
设置系统环境变量 | |||
环境变量 | environ_get = os.environ.get("key_name") |
获取系统环境变量 | |||
环境变量 | environ_update = os.environ["key_name"] = value2 |
修改系统环境变量 | |||
环境变量 | del(os.environ["key_name"]) |
删除系统环境变量 | |||
路径 | path = os.getcwd() |
当前工作目录 | C:\Users\xxx\Desktop\ospag |
/home/xxx/ospag |
/Users/xxx/Desktop/ospag |
路径 | p = os.sep |
系统路径分隔符 | \ |
/ |
/ |
路径 | abspath = os.path.abspath(path) |
文件绝对路径 | C:\Users\xxx\Desktop\ospag |
/home/xxx/ospag |
/Users/xxx/Desktop/ospag |
路径 | path_split = os.path.split(path) |
path分割成目录和文件名二元组返回 | ('C:\\Users\\xxx\\Desktop', 'ospag') |
('/home/xxx', 'ospag') |
('/Users/xxx/Desktop', 'ospag') |
路径 | dirname = os.path.dirname(path) |
目录(文件夹)绝对路径 | C:\Users\xxx\Desktop |
/home/xxx |
/Users/xxx/Desktop |
路径 | basename = os.path.basename(path) |
返回path最后的文件名 | ospag |
ospag |
ospag |
路经检查 | exists = os.path.exists(path) |
路径是否存在 | True/False | ||
路经检查 | isabs = os.path.isabs(path) |
如果path是绝对路径 | True/False | ||
路经检查 | isfile = os.path.isfile(path) |
如果path是一个存在的文件 | True/False | ||
路经检查 | isdir = os.path.isdir(path) |
如果path是一个存在的目录(文件夹) | True/False | ||
目录(文件夹)生成 | os.mkdir('dirname') |
生成单级目录(文件夹) 相当于shell中mkdir dirname | 无返回, 如果已经有目录(文件夹)就报错 | ||
目录(文件夹)生成 | os.makedirs('dirname1/dirname2') |
可生成多层递归目录(文件夹) | 无返回, 如果已经有目录(文件夹)就报错 | ||
组合路径 | path_join = os.path.join( path1[, path2[, ...]]) |
将多个路径组合后返回 第一个绝对路径之前的参数将被忽略 | `` | `` | `` |
文件信息 | listdir = os.listdir('dirname') |
列出指定目录下的所有文件和子目录, 包括隐藏文件,并以列表方式打印 | ['os_test.py'] |
['os_test.py'] |
['os_test.py'] |
文件信息 | stat = os.stat('path/filename') |
获取文件/目录信息 | os.stat_result(st_mode=16877, st_ino=111537267, st_dev=16777223, st_nlink=6, st_uid=501, st_gid=20, st_size=192, st_atime=1654416456, st_mtime=1654406254, st_ctime=1654406254) |
os.stat_result(st_mode=16877, st_ino=111537267, st_dev=16777223, st_nlink=6, st_uid=501, st_gid=20, st_size=192, st_atime=1654416456, st_mtime=1654406254, st_ctime=1654406254) |
os.stat_result(st_mode=16877, st_ino=111537267, st_dev=16777223, st_nlink=6, st_uid=501, st_gid=20, st_size=192, st_atime=1654416456, st_mtime=1654406254, st_ctime=1654406254) |
文件信息 | fsize = os.path.getsize(path) |
文件字节大小 | 0(int类型) |
4096(int类型) |
192(int类型) |
文件信息 | getatime = os.path.getatime(path) |
返回path所指向的文件或者 目录的最后存取时间 | 1654416456.911321 |
1654416456.911321 |
1654416456.911321 |
文件信息 | getmtime = os.path.getmtime(path) |
返回path所指向的文件或者 目录的最后修改时间 | 1654416456.911321 |
1654416456.911321 |
1654416456.911321 |
文件操作 | rename = os.rename( "oldname", "newname") |
重命名文件/目录 | `` | `` | `` |
文件操作 | os.remove() |
删除一个文件 | `` | `` | `` |
chdir = os.chdir("dirname") |
改变当前脚本工作目录;相当于shell下cd | `` | `` | `` | |
curdir = os.curdir |
返回当前目录: (‘.’) | `` | `` | `` | |
pardir = os.pardir |
获取当前目录的父目录字符串名:(‘..’) | `` | `` | `` | |
removedirs = os.removedirs('dirname1') |
若目录为空,则删除,并递归到上一级目录, 如若也为空,则删除,依此类推 | `` | `` | `` | |
rmdir = os.rmdir('dirname') |
删除单级空目录,若目录不为空则无法删除,报错; 相当于shell中rmdir dirname | `` | `` | `` | |
system = os.system("bash command") |
运行shell命令,直接显示 | `` | `` | `` | |
normpath = os.path.normpath( os.path.join ( os.path.abspath(__file__) ,'..','..','..')) |
表示返回当前文件的上上上层目录 | `` | `` | `` |
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
import os
linesep = os.linesep
print("输出当前平台使用的行终止符,win下为”\t\n”,Linux下为”\n”")
print(linesep)
pathsep = os.pathsep
print("输出用于分割文件路径的字符串 win下为;,Linux下为:")
print(pathsep)
name = os.name
print("输出字符串指示当前使用平台。win->’nt’; Linux->’posix’")
print(name)
environ_keys = os.environ.keys()
print("系统全部环境变量")
print(environ_keys)
## environ_setdefault = os.environ.setdefault("key_name", "value")
## print("设置系统环境变量")
## print(environ_setdefault)
## environ_get = os.environ.get("key_name")
## print("获取系统环境变量")
## print(environ_get)
## environ_update = os.environ["key_name"] = value2
## print("修改系统环境变量")
## print(environ_update)
## # del(os.environ["key_name"])
## # print("删除系统环境变量")
path = os.getcwd()
print("当前工作目录")
print(path)
p = os.sep
print("系统路径分隔符")
print(p)
abspath = os.path.abspath(path)
print("文件绝对路径")
print(abspath)
path_split = os.path.split(path)
print("path分割成目录和文件名二元组返回")
print(path_split)
dirname = os.path.dirname(path)
print("文件夹绝对路径")
print(dirname)
basename = os.path.basename(path)
print("返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即`os.path.split(path)的第二个元素")
print(basename)
exists = os.path.exists(path)
print("路径是否存在:True/False")
print(exists)
isabs = os.path.isabs(path)
print("如果path是绝对路径,返回True")
print(isabs)
isfile = os.path.isfile(path)
print("如果path是一个存在的文件,返回True。否则返回False")
print(isfile)
isdir = os.path.isdir(path)
print("如果path是一个存在的目录,则返回True。否则返回False")
print(isdir)
## os.mkdir('dirname')
## print("生成单级目录(文件夹) 相当于shell中mkdir dirname, 无返回,如果已经有目录(文件夹)就报错")
## os.makedirs('dirname1/dirname2')
## print("生成多层递归目录")
## path_join = os.path.join(path1[, path2[, ...]])
## print("将多个路径组合后返回 第一个绝对路径之前的参数将被忽略")
## print(path_join)
listdir = os.listdir(path)
print("列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印")
print(listdir)
stat = os.stat(path)
print("获取文件/目录信息")
print(stat)
stat = os.stat(path)
print("获取文件/目录信息")
print(stat)
fsize = os.path.getsize(path)
print("文件字节大小")
print(type(fsize))
print(fsize)
getatime = os.path.getatime(path)
print("返回path所指向的文件或者目录的最后存取时间")
print(getatime)
getmtime = os.path.getmtime(path)
print("返回path所指向的文件或者目录的最后修改时间")
print(getmtime)
## rename = os.rename("oldname","newname")
## print("重命名文件/目录")
## print(rename)
## # os.remove()
## # print("删除一个文件")
## chdir = os.chdir("dirname1")
## print("改变当前脚本工作目录;相当于shell下cd")
## print(chdir)
## curdir = os.curdir
## print("返回当前目录: (‘.’)")
## print(curdir)
## pardir = os.pardir
## print("获取当前目录的父目录字符串名:(‘..’)")
## print(pardir)
## removedirs = os.removedirs('dirname1')
## print("若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推")
## print(removedirs)
## rmdir = os.rmdir('dirname')
## print("删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname")
## print(rmdir)
## system = os.system("bash command")
## print("运行shell命令,直接显示")
## print(system)
## normpath = os.path.normpath(os.path.join(os.path.abspath(__file__),'..','..','..'))
## print("表示返回当前文件的上上上层目录")
## print(normpath)
replace.py
## 把全部图片去掉空格
import os
def rename_images_in_directory(directory):
"""
去掉指定目录下所有图片文件名中的空格。
参数:
directory (str): 需要处理的目录路径。
"""
# 支持的图片扩展名
image_extensions = ('.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff')
# 遍历目录中的所有文件
print(os.listdir(directory))
for filename_0 in os.listdir(directory):
print(directory + '/' + filename_0)
if filename_0 == "replace.py":
continue
if filename_0 == ".DS_Store":
continue
for filename in os.listdir(directory + '/' + filename_0):
print(filename)
# # 检查文件是否是图片
# if filename.lower().endswith(image_extensions):
# 新文件名去掉空格
new_filename = filename.replace(' ', '') # 可以替换为其他字符
# 构建完整的文件路径
old_file_path = os.path.join(directory + '/' + filename_0, filename)
new_file_path = os.path.join(directory + '/' + filename_0, new_filename)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f"已重命名: '{filename}' -> '{new_filename}'")
# 使用示例
directory_path = '/a/a/a' # 替换为你的目录路径
rename_images_in_directory(directory_path)
放到文件夹里,这个文件夹里有小文件夹,小文件夹里有图片,运行python replace.py可以把文件夹里的全部文件去掉空格
python
整章节共122节
快分享给你的小伙伴吧 ~