你的问题是test.txt已经存在,并且格式与shelve不符,所以提示 "db type could not be determined"
解决方法: 删除/home/luo/python/test.txt文件哗孙,首次运行后启银会自动生成该文件。
另外,缺省方式数据文件是二进制的,最好不要用txt结尾来误导别人。
然后使用冒泡排序的方法同时对两个列表排序,排序完成后,序列列表就是你要的。
至于写入文件,可以使用open按一般文件内容写入。
但保存的只是一个列表握乱颂变量,适合使用shelve来保存为data文件,所以使用shelve.open来保存数据。
import shelve
def orderIndex(nums=[]):
n=len(nums)
index=0
indexs=[]
for i in range(n):
indexs.append(index)
index=index+1
for i in range(n):
for j in range(i+1,n):
if(nums[i]<nums[j]):
nSave=nums[i]
nums[i]=nums[j]
nums[j]=nSave
iSave=indexs[i]
indexs[i]=indexs[j]
indexs[j]=iSave
return indexs
print("请输入一列数字,逗号分割 :")
nums=input().split(',')
print("从大到小排序后的序列为 :段郑")
indexs=orderIndex(nums)
print(indexs)
shelFile=shelve.open('C:\mydata')
shelFile['indexs']=indexs
shelFile.close()
print("序列已保存至文件 :C:\mydata中")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)