# 文件作业 # 创建一个文件夹 aa 文件夹里面创建10个文件 # 把所有的文件 比如aa. txt # 输入1 改成 aa-胖达出品.txt # 输入2 aa-胖达出品.txt 改回 aa.txt 用python代码表达出来
时间: 2023-10-05 17:11:24 浏览: 236
可以使用Python内置的os模块来完成这个任务。下面是代码示例:
```python
import os
# 创建文件夹
os.mkdir('aa')
# 创建10个文件
for i in range(1, 11):
filename = f'aa/aa{i}.txt'
with open(filename, 'w') as f:
f.write('Hello World!')
# 修改文件名
for i in range(1, 11):
old_filename = f'aa/aa{i}.txt'
new_filename = f'aa/aa-胖达出品{i}.txt'
os.rename(old_filename, new_filename)
# 恢复文件名
for i in range(1, 11):
old_filename = f'aa/aa-胖达出品{i}.txt'
new_filename = f'aa/aa{i}.txt'
os.rename(old_filename, new_filename)
```
这段代码首先创建了一个名为`aa`的文件夹,然后使用循环创建了10个文件。接下来,使用`os.rename()`函数将文件名从`aa{i}.txt`改为`aa-胖达出品{i}.txt`,然后再将文件名恢复回来。需要注意的是,在使用`os.rename()`函数修改文件名时,需要指定文件的完整路径。
相关问题
def replace_excel(path, f): # 封装xls转换为xlsx ///done """ excel .xls 后缀 改成 .xlsx 后缀 path 文件夹路径 f 文件名字 带后缀 比如 aa.xls """ file_name_be, suff = os.path.splitext(f) # 路径进行分割,分别为文件路径和文件后缀 if suff == '.xls': # print('将对{}文件进行转换...'.format(f)) data = pd.DataFrame(pd.read_excel(path + '\\' + f)) # 读取xls文件 data.to_excel(path + '\\' + file_name_be + '.xlsx', index=False) # 格式转换 return file_name_be + '.xlsx'优化这个代码,是指定文件里面所有的xls文件
可以使用以下代码来优化`replace_excel`函数,实现将指定文件夹中所有的xls文件转换为xlsx格式:
```python
import os
import pandas as pd
def replace_excel(path):
"""
将指定文件夹中所有的xls文件转换为xlsx格式
path 文件夹路径
"""
for f in os.listdir(path):
file_name_be, suff = os.path.splitext(f)
if suff == '.xls':
# 读取xls文件
data = pd.read_excel(os.path.join(path, f))
# 将xls文件转换为xlsx格式并保存
xlsx_file_path = os.path.join(path, file_name_be + '.xlsx')
data.to_excel(xlsx_file_path, index=False)
# 删除原始的xls文件
os.remove(os.path.join(path, f))
print('已将{}文件转换为xlsx格式并保存至{}'.format(f, xlsx_file_path))
```
这段代码会遍历指定文件夹中的所有文件,找到以`.xls`为后缀的文件,然后将其转换为`.xlsx`格式并保存。最后还会删除原始的`.xls`文件。
def replace_excel(path, f): """ 将 Excel .xls 后缀 改成 .xlsx 后缀,并去除特殊符号和非法字符 path: 文件夹路径 f: 文件名字,带后缀,例如 aa.xls """ file_name_be, suff = os.path.splitext(f) # 路径进行分割,分别为文件路径和文件后缀 if suff == '.xls': # 读取 xls 文件 data = pd.DataFrame(pd.read_excel(path + '\\' + f)) # 替换特殊符号和非法字符 data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x))) # 格式转换 data.to_excel(path + '\\' + file_name_be + '.xlsx', index=False) return file_name_be + '.xlsx'优化这个代码,是把指定文件里面所有的xls文件转换到指定一个文件夹里面,形式要xlsx
可以使用os模块的walk函数,递归遍历指定文件夹下的所有xls文件,并将其转换为xlsx格式并保存到指定的输出文件夹中。以下是优化后的代码:
```python
import os
import re
import pandas as pd
def replace_excel(input_path, output_path):
# 遍历指定文件夹下的所有文件和子文件夹
for root, dirs, files in os.walk(input_path):
for f in files:
file_name_be, suff = os.path.splitext(f)
if suff == '.xls':
# 读取 xls 文件
data = pd.DataFrame(pd.read_excel(os.path.join(root, f)))
# 替换特殊符号和非法字符
data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x)))
# 格式转换并保存
xlsx_file_path = os.path.join(output_path, file_name_be + '.xlsx')
data.to_excel(xlsx_file_path, index=False)
print('已将{}文件转换为xlsx格式并保存至{}'.format(f, xlsx_file_path))
```
在上面的代码中,我们使用了os模块的walk函数来递归遍历指定的文件夹。对于每个xls文件,我们读取它的数据并进行特殊符号和非法字符的替换,然后将其转换为xlsx格式并保存到指定的输出文件夹中。如果转换成功,就会打印出转换后的文件路径。
阅读全文