读取文件夹内所有文件的文件名,并分别提取出文件名中的学号和姓名,作为字典的键和值--{学号:姓名}。最终打印包含所有字典的数组。程序由两个模块组成,在一个模块中定义提取文件名中学号和姓名并组成字典的函数,在另一个模块中调用这个函数,组成数组打印。
时间: 2024-05-04 09:15:24 浏览: 7
模块一:
```python
import os
def get_dict(filename):
name = os.path.splitext(filename)[0] # 获取文件名
stu_id = name.split('_')[0] # 获取学号
stu_name = name.split('_')[1] # 获取姓名
return {stu_id:stu_name}
```
模块二:
```python
import os
import module1
dir_path = 'files' # 文件夹路径
file_list = os.listdir(dir_path) # 获取文件夹内所有文件
dict_list = [] # 用于存放字典的数组
for filename in file_list:
if os.path.isfile(os.path.join(dir_path,filename)): # 判断是否为文件
dict_list.append(module1.get_dict(filename)) # 提取学号和姓名并组成字典,添加到数组中
print(dict_list) # 打印包含所有字典的数组
```
相关问题
读取文件夹内所有文件的文件名,并分别提取出文件名中的学号和姓名,作为字典的键和值--{学号:姓名}。最终打印包含所有字典的数组。
这里是一个Python的实现:
```python
import os
path = "/path/to/folder" # 文件夹路径
files = os.listdir(path) # 获取文件夹内所有文件的文件名
data = [] # 存储字典的数组
for file in files:
if file.endswith(".txt"): # 只处理txt文件
# 提取学号和姓名
student_id = file.split("_")[0]
name = file.split("_")[1].split(".")[0]
# 构建字典
student_dict = {student_id: name}
data.append(student_dict)
print(data)
```
这里使用了`os`模块的`listdir()`函数来获取文件夹内所有文件的文件名。接着遍历所有文件,只对以`.txt`结尾的文件进行处理。使用字符串操作(`split()`函数)提取文件名中的学号和姓名,并构建字典。最终将所有字典存储在一个数组中并打印出来。
编程读入该文件,转换成JSON格式文件,并以文件名“班内序号.json”输出
好的,假设该文件中每一行都是一个学生的信息,格式为:"学生姓名,学号,年龄,性别",那么我们可以用Python读取该文件,并将每一行信息转换成一个字典,最后将所有学生信息组成一个列表,再将列表转换成JSON格式,最终输出到文件。
以下是示例代码:
```python
import json
# 读取文件
filename = input("请输入文件名:")
with open(filename, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 处理数据
students = []
for line in lines:
student_info = line.strip().split(',')
student = {
"姓名": student_info[0],
"学号": student_info[1],
"年龄": int(student_info[2]),
"性别": student_info[3]
}
students.append(student)
# 将数据转换成JSON格式
json_data = json.dumps(students, ensure_ascii=False)
# 输出到文件
output_filename = filename.split('.')[0] + '.json'
with open(output_filename, 'w', encoding='utf-8') as f:
f.write(json_data)
print("转换完成!输出文件名为:", output_filename)
```
执行以上代码后,会提示输入文件名,例如输入“students.txt”,则程序会读取该文件并将其转换成JSON格式,最终输出到文件“students.json”。如果有多个文件需要转换,只需要重复执行以上代码即可,每个文件将会输出对应的JSON格式文件,文件名为“班内序号.json”。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)