我必须通过 python 脚本读取目录中的所有文本文件,但首先我必须从每个文件中删除前 3 个字母以制作索引列表。
目录中包含数据的文件名如下。
zzz143
zzz146
zzz150
.
.
.
zzz250
我必须从所有文件中删除 zzz 并在目录中创建所有这些文件的索引列表以从这些文件中读取数据。 我知道如何处理文件,例如
zzz.160.dat
对于这些类型的文件,我使用以下代码删除前缀和后缀。
def get_list(path, path_of_module_files ):
prefix, suffix = path_of_module_files.split("<index>")
d = {}
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
for item in onlyfiles:
if item.endswith(suffix) and item.startswith(prefix):
text = item
text = text[(find_str(text, prefix)+len(prefix)):]
text = text[:find_str(text, suffix)]
d[int(text)] = "/".join([path, item])
index_list = collections.OrderedDict(sorted(d.items(), key=lambda t: t[0]))
return index_list
此代码处理后缀和前缀,但现在在我的例子中它们只是一种前缀。
在我的例子中,现在它没有被 .或者 - 它只是 zzz143。我必须通过删除 zzz 来获取文件名,列表应该是这样的
143
146
150
.
.
.
250
代替
zzz143
zzz144
zzz145
.
.
.
.
zzz250
如果有人给我一个想法或例子,如何通过循环获取所有文件名以提取该目录中的所有文件。我会很感激
请您参考如下方法:
要删除每个项目的前 3 个字符,您可以使用如下列表切片:
my_list = ['zzz143', 'zzz146', 'zzz150']
new_list = [item[3:] for item in my_list]
输出:
>>> new_list
['143', '146', '150']
