已知一文本文件中存放了若干逗号分隔的整数,将所有数降序排序后输出并写到一新文件中。

已知一文本文件中存放了若干逗号分隔的整数,将所有数降序排序后输出并写到一新文件中。

with open('test.txt','r') as f:
    lst = f.read().split(',')
    lst = [i.strip() for i in lst]
    lst.sort(reverse=True)
    res = ','.join(lst)
with open('test2.txt','w') as f:
    f.write(res)
        


# 字符串转整数
def strToInt( strV):
    v = 0
    try:
        v = int(strV)
        return v
    except:
        return None

# 读文件
srcStr = ""
with open('data/src.txt','r') as f:
    srcStr = f.read()
# 解析出数组并转成整数
strArr = srcStr.split(',')
intArr = []
for v in strArr:
    intV = strToInt( v)
    # 剔除无效的数字
    if intV != None:
        intArr.append( intV)

# 排序
intArr.sort()
# 
retStr = ""
for i in range( len(intArr)):
    if i == 0:
        retStr = retStr + str(intArr[i])
    else:
        retStr = retStr + "," + str(intArr[i])
with open('data/dst.txt','w') as f:
    f.write(retStr)
        
import os

old_file_path = os.path.join(os.path.dirname(__file__), '原文件名.txt')
with open(old_file_path, 'r') as f:
    data = sorted(list(map(int, f.read().split(','))))
new_file_path = os.path.join(os.path.dirname(__file__), '新文件名.txt')
with open(new_file_path, 'w') as f:
    f.write(','.join(list(map(str, data))))
#判断是否是有效的整数数字,是则返回数字,不是则过滤
def isNum(item) -> int:
    if item:
        item = str(item)
        if item.isnumeric():
            return int(item)
        elif item.startswith("-") and item.replace("-","").isnumeric():
            return int(item)
        else:
            pass

# 读文件
srcStr = ""
with open('data/data.txt', 'r') as f:
    srcList  = f.read().split(",")
resList = []
for item in srcList:
    i = isNum(item)
    if i:
        resList.append(i)
# 排序
resList.sort()
#列表元素再转为str
resList = [str(i) for i in resList]

with open('data/dst.txt', 'w') as f:
    f.write(",".join(resList))

逗号分隔的之间用csv文件另存为就好了