按檔名稱字串小寫排序
images.sort(key=lambda x: x.lower())
按建立時間精確到秒排序
images.sort(key=lambda x: os.path.getctime(x))
按建立時間,精確到納秒排序
images.sort(key=lambda x: os.stat(x).st_ctime_ns)
按檔名稱去掉字尾的數值名稱排序
images.sort(key = lambda x: int(x[:-4]))
使用os.stat的返回值statinfo的三個屬性獲取檔案的建立時間等資訊
statinfo=os.stat("e:\\a\\314_noteach_20190315162753_1552638473_152.png")
st_atime (訪問時間), st_mtime (修改時間), st_ctime(建立時間)
print(statinfo)
print(statinfo.st_mtime)
print(statinfo.st_ctime_ns)
可按照檔名稱排序,對字串和數值混合的可以自定義實現混合排序
# -*- coding: utf-8 -*-
# @time : 2019/4/30 13:32
# @author : shine
# @file : mix_sort.py
基於字串數字混合排序的python指令碼
def is_number(s):
try:
float(s)
return true
except valueerror:
pass
try:
import unicodedata
unicodedata.numeric(s)
return true
except (typeerror, valueerror):
pass
return false
def find_continuous_num(astr, c):
num = ''
try:
while not is_number(astr[c]) and c < len(astr):
c += 1
while is_number(astr[c]) and c < len(astr):
num += astr[c]
c += 1
except:
pass
if num != '':
return int(num)
def comp2filename(file1, file2):
smaller_length = min(len(file1), len(file2))
for c in range(0, smaller_length):
if not is_number(file1[c]) and not is_number(file2[c]):
if file1[c] < file2[c]:
return true
if file1[c] > file2[c]:
return false
if file1[c] == file2[c]:
if c == smaller_length - 1:
if len(file1) < len(file2):
return true
else:
return false
else:
continue
if is_number(file1[c]) and not is_number(file2[c]):
return true
if not is_number(file1[c]) and is_number(file2[c]):
return false
if is_number(file1[c]) and is_number(file2[c]):
if find_continuous_num(file1, c) < find_continuous_num(file2, c):
return true
else:
return false
def sort_list_by_name(lst):
for i in range(1, len(lst)):
x = lst[i]
j = i
while j > 0 and comp2filename(x, lst[j-1]):
lst[j] = lst[j-1]
j -= 1
lst[j] = x
return lst
標籤:檔案,file1,return,file2,python,number,lst,num,排序
Python提取CSV檔案資訊
collecting multilingual parallel video descriptions using mechanical turk 其中有個csv檔案表示了資料集的一些資訊,如圖所示 我需要將前三列合併成上述video名稱,並篩選出language english時的descript...
mac終端輸入python預設開啟python3
1.終端開啟 bash profile檔案 open bash profile 2.新增以下內容到.bash profile檔案 setting path for python 3.5 path library frameworks python.framework versions 3.5 bin...
讀取檔案內的資訊,並排序。
include include typedef struct studentstudent void getsecond student s,int sn void sort student s,int sn int main 開啟 if 檔案 if fp fopen e h.txt r null ...