python对1_1.png、1_2.png照片按照命名排序
时间: 2024-02-09 07:11:50 浏览: 89
可以使用Python内置的`sorted`函数对文件名进行排序,代码如下:
```python
import os
dir_path = 'path/to/files' # 文件夹路径
files = os.listdir(dir_path)
files_sorted = sorted(files, key=lambda x: int(x.split('_')[1].split('.')[0]))
print(files_sorted)
```
其中,`os.listdir`函数用于获取指定文件夹下所有文件的文件名列表,`sorted`函数对文件名列表进行排序,`lambda`函数用于从文件名中提取数字部分进行排序。最后,`files_sorted`即为按照命名排序后的文件名列表。
相关问题
python对1_1.png、1_2.png......照片按照命名排序
如果文件名中包含多个数字,则可以使用正则表达式来提取数字进行排序。代码如下:
```python
import os
import re
dir_path = 'path/to/files' # 文件夹路径
files = os.listdir(dir_path)
files_sorted = sorted(files, key=lambda x: [int(s) if s.isdigit() else s for s in re.split(r'(\d+)', x)])
print(files_sorted)
```
其中,`re.split(r'(\d+)', x)`用于将文件名按照数字和非数字部分进行划分,返回一个由数字和非数字部分交替组成的列表。`[int(s) if s.isdigit() else s for s in ...]`则是一个列表推导式,用于将数字部分转换为整数,非数字部分保持不变。最后,`files_sorted`即为按照命名排序后的文件名列表。
读取文本文件movies_revenue_starring_1950_2010.txt, 首先按照电影title降序排序,然后分别可视化电影的revenue Starring Actors Popularity 的值,每幅图均包括图例、图标题,x轴刻度值为电影title且斜45°显示(为了显示美观,可以将电影title每隔若干个抽样显示),每幅图曲线颜色分别为红色、绿色;每幅图分别保存为png图片保存,分辨率为400 dpi,png图片命名分别为movies_revenue_1950_2010.png、movies_ starpopularity_ 1950 2010.png
以下是Python代码实现:
``` python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv("movies_revenue_starring_1950_2010.txt", sep="\t")
# 按照电影title降序排序
data = data.sort_values(by="Title", ascending=False)
# 可视化电影的revenue
plt.figure(figsize=(16, 8))
plt.plot(data["Title"][::10], data["Revenue"][::10], color="red", label="Revenue")
plt.xticks(rotation=45, ha="right")
plt.legend()
plt.title("Revenue of Movies from 1950 to 2010")
plt.savefig("movies_revenue_1950_2010.png", dpi=400)
# 可视化电影的Starring Actors Popularity
plt.figure(figsize=(16, 8))
plt.plot(data["Title"][::10], data["Starpopularity"][::10], color="green", label="Starring Actors Popularity")
plt.xticks(rotation=45, ha="right")
plt.legend()
plt.title("Starring Actors Popularity of Movies from 1950 to 2010")
plt.savefig("movies_starpopularity_1950_2010.png", dpi=400)
```
该代码会生成两个png图片,分别为movies_revenue_1950_2010.png和movies_starpopularity_1950_2010.png,保存在当前工作目录下。
阅读全文