例子7 消除缺失編號

2021-08-28 05:39:49 字數 1722 閱讀 4236

指定資料夾中含有text_n.extension的檔案,但是可能編號缺失。需要編寫乙個程式,使得n的缺失編號消失。

1. 切換到指定資料夾 -》path的寫入不要考慮在shuttle.move()時,增加了複雜程度去拼合src和destination,os.chdir()完美啊

2. 正規表示式,找到符合條件的檔案 -》re.compile(r'^(.*?)_(\d)(.*?)$')

3. 獲取檔名中的n,並插入到列表1

4. 建立新列表2,range(1,len(列表1)+ 1)

5. 迴圈列表1和列表2的值,並判斷是否相等,不相等的重新命名 -》for i, j in zip(列表1, 列表2)

#!/usr/bin/python3

# -*- coding: utf-8 -*-

# this is for rename file which number is not sequential. rename files should be in same folder.

import os

import shutil

import re

def rename_file(basefolder):

# get absolute path

folder = os.path.abspath(basefolder)

os.chdir(folder)

# print(folder)

filename = ""

fileext = ""

intarray = # create list1

regex = re.compile(r'^(.*?)_(\d)(.*?)$')

# print(os.listdir(folder))

# check files matched with regex

for each in os.listdir(folder):

file = regex.search(each)

if file is not none:

filename = file.group(1)

fileext = file.group(3)

# print(intarray)

# print(filename)

# print(fileext)

intarrayrename = # create list2

for i in range(1, len(intarray) + 1):

# print(intarrayrename)

# compare both two lists, and rename files

for i, j in zip(intarray, intarrayrename):

if i != j:

oldfile = filename + '_' + str(i) + fileext

newfile = filename + '_' + str(j) + fileext

# print(newfile)

shutil.move(oldfile, newfile)

if __name__ == "__main__":

basefolder = "c:\\users\cassie.yan.su\desktop\\target_folder\\renamefile"

rename_file(basefolder)

oracle查詢連續編號中缺失的編號

思路 1.可以通過connect by level方法查詢出所有1000 最大編號之間的所有編號 2.通過oracle關聯查詢出所有不存在的編號 3.查詢前n條編碼返回到後台使用即可 select a.ln from select tmp1.ln from select level ln from ...

Android Studio 7 查詢例子

android studio提供了一系列 示例和模板供您用於加速應用開發。瀏覽示例 以了解如何為應用程式構建不同的元件。使用模板建立新的應用程式模組,單個活動或其他特定的android專案元件。本頁介紹了如何訪問和使用google提供的高質量android 示例。有關模板的資訊,請參閱 從模板新增 ...

win7 消除快捷方式箭頭

reg add hkey local machine software microsoft windows currentversion explorer shell icons v 29 d systemroot system32 imageres.dll,196 t reg sz f taskk...