文章目录
0、WIN11中,快速复制到一个文件的完整路径
复制到的文件地址,自带两端的双引号。
1、在anaconda的base环境中安装需要的库rarfile
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rarfile
2、将一个指定的压缩包解压到.py所在路径下
import os
import rarfile
rar_path = r"压缩包文件的路径"
rarfile.UNRAR_TOOL = "UnRAR.exe文件所在的路径"
rf = rarfile.RarFile(rar_path)
# 列出 RAR 文件中的内容
for file_info in rf.infolist():
print(file_info.filename)
rf.close()
3、改进:将压缩包的文件解压到压缩包所在的路径下
import os
import shutil
import tempfile
import rarfile
# 指定要解压的.rar文件的路径
rar_path = r"压缩包文件的路径"
rarfile.UNRAR_TOOL = "UnRAR.exe文件所在的路径"
# 获取.rar文件所在的目录
destination_folder = os.path.dirname(rar_path)
# 创建一个临时文件夹
temp_dir = tempfile.mkdtemp()
# 创建rarfile对象
rf = rarfile.RarFile(rar_path)
# 解压.rar文件到临时文件夹
rf.extractall(temp_dir)
# 关闭rarfile对象
rf.close()
# 将临时文件夹中的内容移动到目标文件夹
for item in os.listdir(temp_dir):
src_path = os.path.join(temp_dir, item)
dest_path = os.path.join(destination_folder, item)
shutil.move(src_path, dest_path)
# 删除临时文件夹
shutil.rmtree(temp_dir)
4、改进:将解压后文件夹最里层的所有文件,复制到压缩包所在的同级目录中(有同名时替换)
当目标路径中存在同名文件时,我们需要替换这些文件。shutil.move() 函数已经具有覆盖同名文件的功能。
import os
import shutil
import tempfile
import rarfile
def recursively_move_files(src, dest):
for item in os.listdir(src):
src_path = os.path.join(src, item)
dest_path = os.path.join(dest, item)
if os.path.isdir(src_path):
recursively_move_files(src_path, dest)
else:
shutil.move(src_path, dest_path)
# 指定要解压的.rar文件的路径
rar_path = r"压缩包文件的路径"
rarfile.UNRAR_TOOL = "UnRAR.exe文件所在的路径"
# 获取.rar文件所在的目录
destination_folder = os.path.dirname(rar_path)
# 创建一个临时文件夹
temp_dir = tempfile.mkdtemp()
# 创建rarfile对象
rf = rarfile.RarFile(rar_path)
# 解压.rar文件到临时文件夹
rf.extractall(temp_dir)
# 关闭rarfile对象
rf.close()
# 递归地将临时文件夹中的内容移动到目标文件夹
recursively_move_files(temp_dir, destination_folder)
# 删除临时文件夹
shutil.rmtree(temp_dir)
5、将这个代码打包成.exe,并给定一个自动指定的时间,每隔一段时间就自动执行一次
步骤1、用pyinstaller打包成.exe
该.py文件的名称为“jiayesuo.py”
pyinstaller --onefile jiayesuo.py
在 PyCharm 中,打开一个终端窗口(View -> Tool Windows -> Terminal)来运行此命令
也可以在.py所在位置cmd中执行,.exe最终生成在dist文件夹下
步骤 2:使用 Windows Task Scheduler 创建定时任务
-
打开 Windows Task Scheduler(任务计划程序)。
-
在右侧的操作窗格中,单击“创建基本任务”。 为任务指定一个名称和描述,然后单击“下一步”。
-
设置
触发器
。选择“每天”或“每周”作为触发器,具体取决于您希望多久执行一次任务。单击“下一步”。
-
指定任务开始时间和日期,以及重复间隔(例如,每天、每小时等)。单击“下一步”。
-
选择“启动程序”作为操作的类型,然后单击“下一步”。
-
单击“浏览”按钮,然后选择在步骤 1 中生成的 .exe 文件。单击“下一步”。
-
确认任务设置,并单击“完成”以创建任务。