将E盘文件夹中的所有tar文件直接解压到D盘新建的当天的文件夹中的python实现
时间: 2023-08-04 19:05:30 浏览: 96
您可以使用Python的`os`模块的`listdir()`函数列出文件夹中所有的文件,使用`tarfile`模块来解压tar文件,并使用`os`模块来新建文件夹。具体实现代码如下:
```python
import os
import tarfile
import datetime
# 获取当前日期
today = datetime.datetime.now().strftime('%Y-%m-%d')
# 新建文件夹
os.makedirs('D:/'+today)
# 遍历文件夹中的所有tar文件,解压到新文件夹
for filename in os.listdir('E:/'):
if filename.endswith('.tar'):
with tarfile.open('E:/'+filename, 'r') as tar:
tar.extractall('D:/'+today)
```
其中,`os.makedirs`用于新建文件夹,`os.listdir`用于列出文件夹中的所有文件,`tarfile.open`用于打开tar文件,`tar.extractall`用于解压文件到指定目录。您需要将`E:/`替换为实际的源文件夹路径,将`D:/`替换为实际的目标文件夹路径。执行完上述代码后,E盘文件夹中的所有tar文件将被解压到D盘一个新建的当天的文件夹中。
相关问题
将E盘文件夹中的所有tar文件直接解压到D盘新建的当天的文件夹中,结束后输出DONE,的python实现
您可以在代码的最后加上一句`print('DONE')`来输出`DONE`,表示程序执行完毕。具体实现代码如下:
```python
import os
import tarfile
import datetime
# 获取当前日期
today = datetime.datetime.now().strftime('%Y-%m-%d')
# 新建文件夹
os.makedirs('D:/'+today)
# 遍历文件夹中的所有tar文件,解压到新文件夹
for filename in os.listdir('E:/'):
if filename.endswith('.tar'):
with tarfile.open('E:/'+filename, 'r') as tar:
tar.extractall('D:/'+today)
print('DONE')
```
其中,`print('DONE')`用于输出`DONE`,表示程序执行完毕。您需要将`E:/`替换为实际的源文件夹路径,将`D:/`替换为实际的目标文件夹路径。执行完上述代码后,E盘文件夹中的所有tar文件将被解压到D盘一个新建的当天的文件夹中,并输出`DONE`。
将E盘文件夹中的所有tar压缩包直接解压到D盘新建的当天的文件夹中,结束后输出DONE,的python实现
可以使用Python的os、shutil和datetime模块来实现:
```python
import os
import shutil
import datetime
# 获取当前日期
today = datetime.date.today().strftime('%Y-%m-%d')
# E盘目录
src_dir = 'E:/'
# D盘目录
dst_dir = 'D:/{}'.format(today)
# 如果D盘目录不存在则创建
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
# 遍历E盘目录下的所有文件
for file in os.listdir(src_dir):
# 如果是tar压缩包则解压到D盘目录下
if file.endswith('.tar'):
file_path = os.path.join(src_dir, file)
# 解压到D盘目录下
shutil.unpack_archive(file_path, dst_dir)
print('DONE')
```
注意:在执行该代码前,请先确保E盘中有tar压缩包,且D盘中不存在与当天日期同名的文件夹。
阅读全文