【Python脚本随手笔记】 -- 复制文件并修改权限

请添加图片描述

  • 💌 所属专栏:【Python脚本随手笔记】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Python脚本随手笔记】专栏的第1篇文章;
  今天的需求是想通过 python 脚本对文件进行复制到另外一个文件夹,并对文件添加可执行权限(这里是对liunx系统的操作),最后同 shellbat 文件来运行 python 脚本;
  专栏地址:【Python脚本随手笔记】 , 此专栏是我是夜阑的狗对python脚本处理的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、文件复制

  Python 脚本是使用Python编程语言编写的一段可执行的代码。Python 脚本可以执行特定的任务,自动化重复的工作,处理数据,创建和操作文件等等。

 1.copyfile()函数

  这里可以使用 Pythonshutil 模块中的 copyfile 函数来复制文件;

import shutil

# 指定源文件和目标文件路径
source_file = '"Q:/QC/test"'
target_file = '/mnt/q/QC/鸿蒙/鸿蒙编译加速脚本'

# 复制文件
shutil.copyfile(source_file, target_file)

二、文件修改权限

 1.chmod()函数

  然后使用 os 模块来执行 chmod +x 操作。

import os

# 修改文件权限为可执行
os.chmod(target_file, 0o755)

  根据前面两个函数就能满足我们的需求了,这里需要注意一点,我们最终结果是通过 shell 或者 bat 来运行 python 脚本,所以 python 脚本需要获取传递参数值。

 2.获取参数

  在 Python 脚本中,你可以使用 sys.argv 列表来获取传递的参数值。

#!/usr/bin/python3

import shutil
import sys
import os

def main():
    source_file = sys.argv[1]
    build_type = sys.argv[2]
    # 获取当前文件的绝对路径
    current_path = os.path.abspath(__file__)
    # 获取当前文件所在的目录
    if build_type == "window":
        current_directory = os.path.dirname(current_path)
        # current_directory = "Q:/QC/test"
    else:
        current_directory = os.path.dirname(current_path)
        # current_directory = "/mnt/q/QC/test"
    

    # 指定源文件和目标文件路径
    compile_source_file = f"{source_file}/compile.sh"
    build_source_file = f"{source_file}/qcbuild.py"

    compile_target_file = f"{current_directory}/compile.sh"
    build_target_file = f"{current_directory}/qcbuild.py"


    # 修改文件权限为可执行
    os.chmod(compile_source_file, 0o755)
    os.chmod(build_source_file, 0o755)

    # 复制文件
    shutil.copyfile(compile_source_file, compile_target_file)
    shutil.copyfile(build_source_file, build_target_file)


if __name__ == "__main__":
    sys.exit(main())

  注意,sys.argv 列表中的第一个元素是脚本的名称本身。因此,第一个参数的索引是 1,第二个参数的索引是 2,以此类推。
   #!/usr/bin/python3 告诉操作系统使用 /usr/bin/python3 作为解释器来运行该脚本。

三、执行脚本

 1.shell脚本(liunx)

  要在 Shell 脚本(.sh 文件)中运行 Python 文件并传递参数,可以使用以下命令:

#!/bin/bash

# 尽量要英文路径
arg1=/mnt/q/QC/鸿蒙BES/鸿蒙编译加速脚本
arg2=liunx

# 运行 Python 文件
python3 qcQuickBuild.py ${arg1} ${arg2}

  这将运行 Shell 脚本,并执行其中的 Python 命令来运行指定的 Python 文件。如果你的系统中默认的 Python 版本不是你想要使用的版本,可以使用完整的 Python 解释器路径替代 python 命令。

 2.bat脚本(window)

  要在批处理文件(.bat 文件)中获取 Windows 系统变量中的 Python 解释器路径,第一种可以使用 %PYTHONHOME% 环境变量来获取,第二种可以系统环境变量查询 python 配置的路径然后输入即可,这里本人用的第二种方法。

@echo off

REM 尽量英文路径
set arg1=Q:\QC
set arg2=window

REM 获取 Python 解释器路径
set python_path=C:\Users\JMFive\AppData\Local\Programs\Python\Python312\python.exe

REM 执行当前目录下的 Python 脚本
%python_path% "%~dp0\qcQuickBuild.py" %arg1% %arg2%

echo python_path: %python_path% : %~dp0

REM 检查错误级别码
if %errorlevel% equ 0 (
    echo Python SUCCESS
) else (
    echo Python FAIL
)

pause

  要在批处理文件(.bat 文件)中运行当前 Python 脚本并确定运行是否成功,可以使用错误级别码来判断。

  使用 if %errorlevel% equ 0 来检查上一条命令的错误级别码。如果错误级别码为 0,表示上一条命令执行成功;如果错误级别码非零,表示上一条命令执行失败。

  根据错误级别码的结果,可以通过 echo 命令输出相应的信息来确定 Python 脚本的运行结果。


总结

  Python脚本的应用范围非常广泛,常见的应用包括:

 1、自动化脚本:

  可以编写Python脚本来自动执行重复的任务,如文件处理、数据清洗等。

 2、网络编程:

  Python脚本可以用于编写网络服务、爬虫、API等。

 3、数据分析和处理:

  Python脚本在科学计算领域非常流行,可以处理和分析大量数据。

 4、网页开发:

  Python脚本可以用于开发网站和Web应用程序,使用框架如Django和Flask。

  总之,Python 脚本是一种强大而灵活的工具,可以帮助开发者快速实现各种功能。它的简洁性和易读性使得它成为学习编程的好选择,并被广泛应用于各个领域。

  感谢观看,如果有帮助到你,请给文章点个赞和收藏,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!

更多专栏订阅:



订阅更多,你们将会看到更多的优质内容!!

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是夜阑的狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值