在Python For Loop中打开文件时重新命名它们

时间:2019-02-04 04:48:42

标签: python for-loop

我正在尝试创建一个程序,该程序将读取多个.txt文件并一次性将其重命名。我能够读懂它们,但是在定义它们的全部过程中我却落伍了。

首先,我尝试在循环中的open调用之后包含一个'as'语句,但是由于我只是定义了一个名称,因此文件一直相互覆盖。我以为我可以将它们读为'file1','file2','file3'...等

关于如何使此命名步骤在for循环中工作的任何想法吗?

import os
os.chdir("\\My Directory")

#User Inputs: 
num_files = 3 

#Here, users' actual file names in their directory would be 'A.txt', 
'B.txt', 'C.txt'
filenames = [A, B, C]

j = 1
for i in filenames:
   while j in range(1,num_files):
      open(i + ".txt", 'r').read().split() as file[j]
      j =+ 1

我希望每次读取文件时,它将每个定义为文件#。显然,由于索引“文件”的方式,我的语法是错误的。我曾尝试在for循环中使用另一个for循环,但这也给了我一个语法错误。总的来说,我真的是python和编程逻辑的新手。任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可能应该在os模块中使用 rename()函数。一个例子可能是:

import os
os.rename("stackoverflow.html", "xyz.html")

stackoverflow.html将是您要调用文件的名称,xyz.html将是文件的当前名称/文件的目的地。希望这会有所帮助!