windows7 python3.6环境下 shelve模块在脚本运行时报错

windows7 python3.6环境下 shelve模块在脚本运行时报错,第1张

shelve是一个对象持悄芦宴久化保存方法,将对象保存到文件里面,一般来说对象的保存和恢复都是通过shelve来进行的。

你的问题是test.txt已经存在,并且格式与shelve不符,所以提示 "db type could not be determined"

解决方法: 删除/home/luo/python/test.txt文件哗孙,首次运行后启银会自动生成该文件。

另外,缺省方式数据文件是二进制的,最好不要用txt结尾来误导别人。

根据列表的长度n生成一个0到n序列号的陪山列表。

然后使用冒泡排序的方法同时对两个列表排序,排序完成后,序列列表就是你要的。

至于写入文件,可以使用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中")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12324176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存