Python使用os.listdir时与windows资源管理器展示顺序不一致

背景 Python 中 os 模块所提供的 listdir() 方法给出的序列,会由于执行器的编码情况而不同.在未设置的 cli 中使用 gbk 排序,在配置过的 IDE 中使用 UTF-8。 无论是gbk还是UTF-8编码,均不是按照拼音排序,从而导致了与Windows资源管理器中的顺序不一致。 解决 使用 pip 下载 natsort 包。 其中有一个函数 os_sorted() 即与操作系统给出的文件顺序保持一致。 使用 1 2 3 4 5 6 7 8 import os from natsort import os_sorted pwd = os.getcwd() # 获取当前目录 filenamelist = os.listdir(pwd) # ls该目录 sortedlist = os_sorted(filenamelist) # 即为排好序的文件列表 print(sortedlist)

一月 13, 2024 · ocsxxi

Python构造函数takes no arguments

如图建立People类,并实例化一个对象p1, 报错如图 我们来详细看一下如图报错:编译器告诉我们说 People类的构造函数不能接收参数 解决办法: 使用def init(self, …) ——>注意这里的下划线是两个下划线__,而不是单个下划线_ 而非def init(self, …) 如图删除原来的People类 如图重新构建People类,并实例化People类对象p1 通过sayHello()函数来测试是否成功实例化对象, 输出了信息 即构造类成功

四月 14, 2019 · ocsxxi