Python:在(int(''.join(filter(str.isdigit, random_file))))中添加分隔符
Python: Add a delimiter to (int(''.join(filter(str.isdigit, random_file))))
所以我尝试从 img_20.png
这样的文件名打印数字,在这种情况下会打印 20
.
但是当文件是 .mp4 文件时,Python 将 img_51.mp4
读作 514
而不是 51
有没有办法向此脚本添加定界符 .
,以便打印 51
而不是 514
?
脚本
import os, sys, random
folder_path = "FOLDERPATH"
def upload_photo():
list = os.listdir(folder_path)
number_files = len(list)
for i in range(number_files):
e = 0
try:
random_file = random.choice(os.listdir(folder_path))
print(random_file)
print (int(''.join(filter(str.isdigit, random_file))))
break
except:
print("Hit except")
upload_photo()
输出
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_4.mp4
44
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_43.mp4
434
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_33.jpg
33
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_23.mp4
234
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_16.jpg
16
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_36.jpg
36
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_14.mp4
144
(移动评论回答)
您可以使用split
方法删除文件扩展名。
试试这个:
print (int(''.join(filter(str.isdigit, random_file.split('.')[0]))))
如果文件没有扩展名,这也有效。
所以我尝试从 img_20.png
这样的文件名打印数字,在这种情况下会打印 20
.
但是当文件是 .mp4 文件时,Python 将 img_51.mp4
读作 514
而不是 51
有没有办法向此脚本添加定界符 .
,以便打印 51
而不是 514
?
脚本
import os, sys, random
folder_path = "FOLDERPATH"
def upload_photo():
list = os.listdir(folder_path)
number_files = len(list)
for i in range(number_files):
e = 0
try:
random_file = random.choice(os.listdir(folder_path))
print(random_file)
print (int(''.join(filter(str.isdigit, random_file))))
break
except:
print("Hit except")
upload_photo()
输出
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_4.mp4
44
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_43.mp4
434
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_33.jpg
33
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_23.mp4
234
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_16.jpg
16
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_36.jpg
36
Matts-MacBook-Pro-5:Reddit matt$ python test.py
img_14.mp4
144
(移动评论回答)
您可以使用split
方法删除文件扩展名。
试试这个:
print (int(''.join(filter(str.isdigit, random_file.split('.')[0]))))
如果文件没有扩展名,这也有效。