我正在寻求帮助。以下是我最近创建的一个程序。
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')
在&#34; ex09&#34;目录有一个名为&#34; file_1&#34;的文件,我的代码是否足以通过执行我以前的python程序来更改file_1?
答案 0 :(得分:1)
为此,您需要为代码使用正则表达式,以便知道将使用file_(x)
模式调用每个文件。其中 x 是文件的编号。因此,您的代码将按编号标识您的文件名。
答案 1 :(得分:0)
您可以使用glob:
创建以数字结尾的所有文件的列表import glob
flist = glob.glob('*[0-9]')