日常方便使用的Python脚本实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常方便使用的Python脚本实现相关的知识,希望对你有一定的参考价值。

目录

文件批量重命名

bin文件合并

正文

1.python根据不同条件批量实现文件重命名

   因为下载的电视剧名字比较乱,但却按照下载时间顺序依次排列,而手动重命名或者找软件太麻烦,我就自己实现了个:

import os
import time

def rename(path):
    Num = 1
    
    #获得当前文件夹下的所有文件路径
    pathlist = [os.path.join(path, filename) 
                    for filename in os.listdir()
                        if filename.split(.)[-1] != py]

    #根据文件修改时间或创建时间来进行排序
    #time.ctime(os.path.getmtime(path))/time.ctime(os.path.getctime(path))
    pathlist = sorted(pathlist, 
                      key=lambda path: .join(time.ctime(os.path.getmtime(path)).split( )[::-1]), 
                      reverse=False);

    #对排序后的文件进行重命名
    for pathname in pathlist:
        newname = str(Num) + ". 漂亮的李慧珍" + ".mp4";
        Num += 1;
        os.rename(pathname, os.path.join(path, newname))
        print(pathname, newname);

#获得当前文件夹路径
path = os.path.split(os.path.realpath(__file__))[0];
rename(path)

2.根据偏移值实现bin文件合并

#/usr/bin/python
import os
import sys
from struct import *

#bin文件合并
def bin_connect(bin1, bin2, outbin, offset):    
    fin1 = open(bin1, rb)
    fin2 = open(bin2, rb)
    fout = open(outbin,wb)
    result = fin1.read()
    i = len(result)
    while i<int(offset, 16):
        i+=1
        result += b\0                 # a bytes-like object is required, not ‘str‘, ‘‘->b‘‘
    result += fin2.read()
    fout.write(result)
    fin1.close();
    fin2.close();
    fout.close();

#举例
#combine.py -i bootloader.bin ramdisk.bin 0x10000 -o combine.bin
if len(sys.argv) != 7 or sys.argv[1] != -i or sys.argv[5] != -o:
    print(usage:)
    print(convert binary format to hexadecimal format: )
    print(combine.py -i startfile endfile offset -o outfile)
    exit(0)

bin_connect(sys.argv[2], sys.argv[3], sys.argv[6], sys.argv[4])

 

以上是关于日常方便使用的Python脚本实现的主要内容,如果未能解决你的问题,请参考以下文章

python结合shell脚本实现简单的日常集中巡检

Python日常运维脚本

Python实现半自动化网络管理与日常工作

日常python脚本系列:拳皇13一键出招以及连段实现

自动化篇 | 你想要的闲鱼日常操作,Python 给你实现了

代码片段:Shell脚本实现重复执行和多进程