根据文件名在python中重命名文件

丹尼尔

我正在创建一个小脚本,该脚本将根据不同条件重命名文件夹中的文件。我曾尝试使用此功能,但目前仍处于停滞状态

f = []  
for file in os.walk(outputfolder):
    f.append(file)

在文件夹(c:\ folder)中,我有2个文件:file1.csv,file2.csv

我如何创建一个在文件夹内执行的循环,并对每个文件执行类似的操作

if(file1.csv.find(1) > 0)
  do this
else 
  do this

谢谢,我已经尝试了一段时间,但找不到解决方案

亚当·史密斯
for root, dirs, files in os.walk("path/to/folder"):
    for filename in files:
        if "1" in filename:
            do_something()
        else:
            do_something_else()

使用时os.walk,它将返回目录树的生成器。试想一下这样的测试目录:

C:\temp
|   \subdir
|   |   subfile1.txt
|   |   subfile2.txt
|   file1.txt
|   file2.txt

list(os.walk) 将产生:

[("C:\\temp", ["subdir"], ["file1.txt","file2.txt"]),
 ("C:\\temp\\subdir", [], ["subfile1.txt","subfile2.txt"])]

也就是说,每次迭代都会root, list_of_directories_in_root, list_of_files_in_root为原始参数中的每个子目录生成因此,我们os.walk以相同的方式进行迭代

for root, dirs, files in os.walk("path/to/folder"):

确实,您实际上并不在乎rootdirs,但是,如果您必须重命名文件(或其他名称),则至少root需要这样做,因为您会这样做os.rename(os.path.join(root, filename), "newname.txt")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重命名现有文件名

来自分类Dev

Bash oneliner重命名文件名

来自分类Dev

使用Shell重命名文件名中的编号

来自分类Dev

重命名文件夹中的文件名-Python

来自分类Dev

读取多个CSV文件,然后根据文件名重命名文件

来自分类Dev

根据父目录使用R中的特定文件名重命名文件

来自分类Dev

Excel VBA重命名文件名

来自分类Dev

我无法在VS中重命名文件名

来自分类Dev

从文件名中删除非字母数字字符并在Python中重命名

来自分类Dev

如何重命名(太长)文件名

来自分类Dev

cp文件并根据旧文件名重命名?

来自分类Dev

重命名上载的文件名,JSP

来自分类Dev

重命名现有文件名

来自分类Dev

剥离文件名并重命名

来自分类Dev

在CentOS 7中批量重命名JPG文件名

来自分类Dev

如何匹配文件名中的字符串并根据字符串重命名文件?

来自分类Dev

根据包含的文件名批量重命名zip文件

来自分类Dev

根据一些计算重命名文件名

来自分类Dev

重命名多个目录中的文件名

来自分类Dev

Bash:重命名文件名开头

来自分类Dev

VBA根据文件名重命名工作表

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

重命名文件夹中的文件名

来自分类Dev

使用R根据文件名重命名目录中的文件

来自分类Dev

为重命名清理文件名

来自分类Dev

在 PowerShell 中重命名文件名

来自分类Dev

PowerShell - 重命名对象数组中的重复文件名

来自分类Dev

重命名文件名python

来自分类Dev

根据现有文件名重命名文件