wideband 发表于 2022-2-11 17:52:31

改名汇总

1:sub, add

import os
dirname5 = os.path.join('E:', '\sixmp3toxx')

fs5 =

)-4000}{i}') for i in fs5]

2: read txt, copy line to creat mp3

import os
txtline=[]
with open('11.txt','r') as f:
    lines = f.readlines()
    for line in lines:
      txtline.append(line.strip())

for name in txtline:
    file1=open(name,'w')

3: rename   name in mp5 and file in mp6

import os


fn55 = []
fn66 = []

##获取文件名
dirname5 = os.path.join('E:', '\sixmp5')
fs5 =

#获取文件
dirname6 = os.path.join('E:', '\sixmp6')
fs6 =


abspath = lambda x: os.path.join(dirname6, x)

m = 0
x = 0
for fn5 in fs5:
    n5, ext5 = os.path.splitext(fn5)
    fn55.append(n5)
    m=m+1

    for fn6 in fs6:
      n6, ext6 = os.path.splitext(fn6)
      fn66.append(n6)

      #print('检查真实文件 是否是.mp3')
      print(fn6)
   
      if int(n6) == int(n5) and fn6 is '.' :
            os.rename(abspath(fn6), abspath(n5+ext6))
            x = x+1
            print(x)


























wideband 发表于 2022-2-12 10:19:27

4: 完整的目录,导出目录 .txt

import os
import sys
path="E:/mp6";

myList=os.listdir(path)

with open("movieName.txt",'a',encoding='utf-8') as filetext:
        for root,dirs,files in os.walk(path):
                for name in files:

                        print(os.path.join(root,name));
                        filetext.write(os.path.join(root,name)+"\n");
                for name in dirs:

                        print(os.path.join(root,name))

                        filetext.write(os.path.join(root,name)+"\n\n");


filetext.close();



wideband 发表于 2022-2-12 10:44:51

=IF(COUNTIF(B:B,A1)>0,"B列有","A列没有")

=LEFT(A1,7)

=SUBSTITUTE(B1,A1,)

wideband 发表于 2022-2-12 16:44:59

5: MP3 有标题的情况下,改名:

import os
import eyed3
import random

path = 'E:/sixmp8title/'

files = os.listdir(path) # 获得目录中所有文件
for item in files:
    item_path = path + item
    title = str.strip(eyed3.load(item_path).tag.title) # Python获得mp3文件标题 方法
    if (len(title) > 0): # 标题有值则更名
      item_path2 = path + title + ".mp3"
      while (os.path.exists(item_path2)): # 判断新文件名是否存在,存在的话 在文件名后追加随机数字
            item_path2 = path + title + str(random.randint(1, 100)) + ".mp3"
      os.rename(item_path, item_path2) # mp3 文件重命名
      print(1, item_path2)
    else:
      print(2, item_path)

print('修改完毕')

wideband 发表于 2022-2-12 17:26:43

1122.mp3, 标题: Knock Knock hello   改名:1122Knock Knock hello.mp3

import os
import eyed3
import random

path = 'E:/sixmp8title/'

files = os.listdir(path) # 获得目录中所有文件
for item in files:
    item_path = path + item# 获得old name
    title = str.strip(eyed3.load(item_path).tag.title) # Python获得mp3文件标题 方法
   
    oldname = item
   
    if (len(title) > 0): # 标题有值则更名
      item_path2 = path +oldname + title + ".mp3" #我增加了 3322

      while (os.path.exists(item_path2)): # 判断新文件名是否存在,存在的话 在文件名后追加随机数字
            item_path2 = path + title + str(random.randint(1, 100)) + ".mp3"


      os.rename(item_path, item_path2) # mp3 文件重命名

      print(1, item_path2)
    else:
      print(2, item_path)

print('修改完毕')

wideband 发表于 2022-2-15 15:27:14

格式:3XXX.mp3,3不满足4位,要补齐:0003XXX.mp3

)+10:04}{i}') for i in fs5]

格式化字符串可以加个宽度为4,以0填充,默认就是左填充的,:04

wideband 发表于 2022-2-15 15:34:01

import os
dirname5 = os.path.join('E:', '\sixmp3toxx')

fs5 =

):04}{i}') for i in fs5]

wideband 发表于 2022-2-19 08:27:47

f'{int(i)+10:04}


从右往左索引 7 位,即 -7   ,{i[-7:]}'

f'{int(i[:-7]):04}

wideband 发表于 2022-2-23 15:32:35

路遥-平凡的世界74.mp3

9010路遥-平凡的世界01.mp3

)+9009:04}{i}') for i in fs5]

wideband 发表于 2022-3-3 07:23:12

查询 im 等出现的 次数

def findStr(desStr, subStr):# desStr->母串subStr->字串
    count = 0
    length = len(desStr)# 获取母串长度,限定查找范围i
    if subStr not in desStr:   # not in 第一步判断 字串 是否在 母串中出现 ; not in 语法不了解建议复习前面
      print('在目标字符串中未找到字符串!')
    else:
      # 前边 length 开始作用,限定查找范围 ,each1表示下标 从0开始 到 length-1
      for each1 in range(length-1):
            if desStr != subStr:# 第二个条件 位置和字串开头必须一样
                continue
            else:
                for each2 in range(len(subStr)):# 遍历字串和母串,遇到不一样就停下
                  # print(desStr, each1, each2, end=" ")
                  if desStr != subStr or each1+each2 > length:
                        break
                else:# 如果顺利执行完
                  count += 1
      print('子字符串在目标字符串中共出现 %d 次' % count)


desStr = input('请输入目标字符串:')
subStr = input('请输入子字符串(两个字符):')
findStr(desStr, subStr)

wideband 发表于 2022-3-4 07:39:18

wideband 发表于 2022-2-12 10:44
=IF(COUNTIF(B:B,A1)>0,"B列有","A列没有")

=LEFT(A1,7)


)+1000}{name}{i[-6:]}') for i in fs5]

wideband 发表于 2022-3-8 18:29:18

print("北京北京\t北京北京")

\t 表示:N个制表位的结束;

wideband 发表于 2022-3-9 08:15:29

if x in s:

wideband 发表于 2022-3-11 09:00:17

1.txt 多行,每行 首字母改为大写

result = []
with open('1.txt', 'r+', encoding = 'utf-8') as f:
    for line in f:
      result.append(line.capitalize())
    f.seek(0)
    f.writelines(result)

wideband 发表于 2022-3-17 08:23:50

增强赋值运算、元组分解赋值、列表分解赋值、字符串分解赋值

wideband 发表于 2022-3-20 10:00:07

number = eval(input("请输入号码"))
print("恭喜中奖" if number == 987654 else"您未 中奖")

wideband 发表于 2022-3-23 18:41:01

sum=0
for i in range(1,11):
    sum+=i
else:
    print("和为:" ,sum)

wideband 发表于 2022-3-25 09:55:15

if xxxx:
    yyyyyy
else:
    zzzzz

////////////////////////////////////////

for xxxx:
    yyyyyy
else:
    zzzzz

////////////////////////////////////////

while xxxx:
    yyyyyy
else:
    zzzzz

wideband 发表于 2022-4-18 07:13:36

break是终止循环的执行。

continue是结束本次循环。

https://fishc.com.cn/home.php?mod=space&uid=1204210&do=album&picid=14583&goto=down#pic_block

wideband 发表于 2022-4-18 08:28:42

Python中range()函数的用法
1、函数原型:range(start, end, scan):
参数含义:

start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);

end:技术到end结束,但不包括end.例如:range(0, 5) 是没有5

scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
————————————————
版权声明:本文为CSDN博主「ths512」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ths512/article/details/96332220
页: [1] 2
查看完整版本: 改名汇总