Python实现打开指定文件夹,并在此文件夹下新建一个同名文件夹,批量将指定文件夹下的txt文件转word文件,word文件保存到新建的同名文件夹中
时间: 2024-06-11 08:09:03 浏览: 151
(python实现)把一个txt文件按比例分成多个txt文件后保存到指定(路径)文件夹
这里提供一种Python实现的方法:
```python
import os
import glob
import win32com.client
# 设置指定文件夹路径
folder_path = r"C:\Users\username\Desktop\example_folder"
# 打开指定文件夹
os.startfile(folder_path)
# 新建同名文件夹
new_folder_path = os.path.join(folder_path, os.path.basename(folder_path))
if not os.path.exists(new_folder_path):
os.mkdir(new_folder_path)
# 批量转换txt文件为word文件
word = win32com.client.Dispatch("Word.Application")
word.Visible = 0
for txt_file_path in glob.glob(os.path.join(folder_path, "*.txt")):
# 打开txt文件
document = word.Documents.Open(txt_file_path)
# 新建word文件路径
new_word_file_path = os.path.join(new_folder_path, os.path.splitext(os.path.basename(txt_file_path))[0] + ".docx")
# 保存为word文件
document.SaveAs(new_word_file_path, FileFormat=16)
# 关闭txt文件和word文件
document.Close()
word.Quit()
```
解释:
1. 首先通过`os.startfile()`函数打开指定文件夹。
2. 然后使用`os.path.basename()`函数获取文件夹名称,并将其用`os.path.join()`函数与原路径合并,得到新建的同名文件夹路径。
3. 使用`os.mkdir()`函数创建新建的同名文件夹。
4. 使用`glob.glob()`函数获取指定文件夹下所有txt文件的路径。
5. 使用win32com库中的`win32com.client.Dispatch()`函数创建Word应用程序对象,并将其设为不可见。
6. 使用`for`循环遍历所有txt文件路径,依次打开每个txt文件。
7. 使用`os.path.splitext()`函数获取txt文件的文件名和扩展名,再用`os.path.join()`函数将其与新建的同名文件夹路径合并,得到新建的word文件路径。
8. 使用`document.SaveAs()`函数将打开的txt文件保存为word文件。
9. 使用`document.Close()`函数关闭打开的txt文件和保存的word文件。
10. 最后使用`word.Quit()`函数关闭Word应用程序。
阅读全文