创建一个Python程序来修改名称以digi结尾的目录的文本文件

2024-06-25 22:58:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在寻求帮助。下面是我最近创建的一个程序。你知道吗

def my_main(ifile_name, ofile_name):
ifile_name = open(ifile_name, 'r')
lines = ifile_name.readlines()

ofile_name = open(ofile_name, "w")

start = 0
end = len(lines) - 1
while start < end:
    ofile_name.write(lines[start])
    ofile_name.write(lines[end])
    start += 1
    end -= 1
if start == end:
    ofile_name.write(lines[start])
ifile_name.close()
ofile_name.close()

当代码执行时,它会更改输入文件的格式,然后将其输出到输出文件。你知道吗

我现在想把这段代码进一步介绍。我想创建一个程序来运行这个程序,但只对以数字结尾的文件进行更改。例如,我有一个按此顺序排列的文件文件夹

file_1
file_a
file_b
file_2
file_3

我希望能够创建一个程序,或者如果可以的话,修改我当前的程序,只对指定目录中以数字结尾的文件进行更改。只是想知道是否有人对我该怎么做有什么建议或帮助?你知道吗

谢谢。你知道吗

更新

我创建了一些代码,如下所示。它运行时没有错误,但不会对文件进行任何更改。你知道吗

def my_main():
for filenames in os.listdir("D:/College 3rd year/Semester 1/Scripting/Assignment2/ex09/"):
    if filenames.endswith("1"):
        execfile('C:/Users/Colin/Desktop/Python/ex01.py')

在“ex09”目录中有一个名为“file1”的文件,我的代码是否足以通过执行以前的python程序来更改file1?你知道吗


Tags: 文件代码name程序mainmydefopen
2条回答

要做到这一点,您需要为代码使用regex,以便知道每个文件都将使用file_(x)模式进行调用。其中x是文件的编号。因此,代码将通过数字标识文件名。你知道吗

您可以使用glob创建以数字结尾的所有文件的列表:

import glob
flist = glob.glob('*[0-9]')

相关问题 更多 >