如何用 Python 遍历当前目录所有子目录的指定文件进行替换操作?

我想用 Python 遍历当前文件夹下的所有子目录, 并把里面所有的 Test.f03 文件里面的 Source 替换成 Target

# encoding: utf-8
import re
import os
import sys

filepath = []

def AlterContent(filepath):
    Target_File = 'Test.f03'
    FileOpen = open (Target_File,'r')
    w_str = ""
    for line in FileOpen:
        if re.search ('Source', line):
            line = re.sub ('Source', 'Target', line)
            w_str += line
        else:
            w_str += line
    print (w_str)
    WriteOpen = open (Target_File,'w')
    WriteOpen.write (w_str)
    FileOpen.close ()
    WriteOpen.close ()
AlterContent(filepath)

遍历目录的部分怎么写呢.

5个回答

“当前目录的所有子目录的指定文件” 是指“当前目录的所有子目录 里面 的指定文件” 吗?
若果是的话:

import os
root = r'd:\\'#当前目录
list = os.listdir(root)
fileName = 'Test.f03'

for str in list:
    print(str)
    path = os.path.join(root, str)

    if not os.path.isdir(path):
        continue

    subpath = os.path.join(path, fileName)

    if not os.path.exists(subpath):
        continue

    AlterContent(subpath)
qq_36907661
大肥羊2018 当你访问一个目录的时候,一定会事先知道它的路径,把它保存下来就是喽~
大约一年之前 回复
qq_36907661
大肥羊2018 回复qq_31143777:如果是项目所在的目录,直接用相对路径就可以,但是我觉得你应该不是指项目所在目录吧。
大约一年之前 回复
qq_31143777
Luke Neo 怎样自动获得当前目录呢?
大约一年之前 回复
 rootdir = ''
list = os.listdir(rootdir)
for i in range(0,len(list)):
    path = os.path.join(rootdir,list[i])
    if os.path.isfile(path):
            if path == 'Test.f03':
                    AlterContent(path)

另外,你现有代码的
Target_File = 'Test.f03'
需要修改为Target_File = filepath

caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复weixin_39416561: rootdir = ''要换成你的根目录的实际值
大约一年之前 回复
weixin_39416561
lyhsdy 回复qq_31143777: 我测试是可以的,你加下TAB
大约一年之前 回复
qq_31143777
Luke Neo 没有效果啊 T.T
大约一年之前 回复

注释很详细了,主要说一点是,打开文件参数应该传路径+文件名

#conding=utf8

import os
import re

root = 'F:\wxx\testpycode'#这里填充想要遍历的文件目录
filename = 'Test.f03'#对比的文件名
lists = os.walk(root)

def AlterContent(filepath):#打开的应该是整个文件路径,而不是'Test.f03'
with open(filepath, 'r', encoding='utf-8') as fr:#读取内容
content = fr.read()
#print(content)
content = re.sub ('Source', 'Target', content)#替换内容
#print(content)
with open(filepath, 'w', encoding='utf-8') as fw:#写入新内容
fw.write(content)

for path,dirs,files in lists:
for f in files: #遍历所有文件名
if f == filename:#应该比较的是文件名
aimfilepath=os.path.join(path, f)#文件名和目录组成目标文件路径
print(aimfilepath)
AlterContent(aimfilepath)


 #!coding=utf-8
import sys
import os


def replace_filename(file_path, var1, var2):
    for root, dirs, files in os.walk(file_path):
        for file_name in files:
            if var1 in file_name:
                os.rename(os.path.join(root, file_name), os.path.join(root, file_name.replace(var1, var2)))
                print('new file name is {0}'.format(file_name.replace(var1, var2)))


replace_filename(r'E:\你的路径\Test.f03', 'Source', 'Target')###修改下第一个参数即可


 import sys
import os


def replace_filename(file_path, var1, var2):
    for root, dirs, files in os.walk(file_path):
        for file_name in files:
            if var1 in file_name:
                os.rename(os.path.join(root, file_name), os.path.join(root, file_name.replace(var1, var2)))
                print('new file name is {0}'.format(file_name.replace(var1, var2)))


replace_filename(sys.argv[1], sys.argv[2], sys.argv[3])
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python遍历当前目录及其子目录符合要求的文件
# 获取当前目录及全部子目录符合要求的文件 import os f_list = ['c:\\'] # 路径可改 f_str = 'a' # 符合要求的字符串 def search_file(f_list): s_list = f_list.copy() f_list.clear() for x_dir in s_list: # 判断是否...
遍历指定文件夹中的所有子目录和文件
遍历指定文件夹中的所有子目录和文件 附送:获取任务管理器中正在运行的Exe的 文件位置。只需输入进程名即可
python os.walk()遍历获取当前目录下的所有文件
原博 : https://www.cnblogs.com/followyourheart1990/p/4885527.html python中 os.listdir()方法只能获得当前目录下的所有文件或者文件夹的名称,而不能获得文件的绝对路径 若想快速获得文件夹下的所有文件的所有文件的绝对路径,需要使用os.walk()方法 之前一直用判断目录和文件的递归方法来获取一个目录下的所有文件,后...
python遍历当前目录下所有文件目录结构(源码)
程序员练级攻略Python遍历目录练习源码
如何遍历当前目录的所有文件
如题
如何用java程序在当前目录下创建一个子目录。
如果是用file对象是不是就非得用绝对路径才能使用mkdir()方法?
【Python】扫描当前目录下所有文件
有时我们需要遍历我们当下文件夹所有文件,我们就可以使用os.walk()这个方法。 //root为当前目录 //dirs为当前目录及子目录下所有文件夹 //files为当前目录及子目录下所有文件 for root, dirs, files in os.walk('.', topdown=True): for dic in dirs: if dic == 'src'...
python遍历读取文件下的所有指定类型的文件
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # 1. for-in dir/subdir to get the filesname # 2. splitext filename to filter import os def getFiles(dir, suffix): # 查找根目录,文件后缀 res = [] for ro...
python 遍历指定文件夹下的所有文件内容
最近公司代码需要做版权审查需要一些代码,足足60页的word文档, 如果一个一个文件的copy代码 就真是out,最近在学习python,就写了个python的脚本,方便上面操作。 __author__ = 'jghost' import os for root,dirs,files in os.walk('your source'): print root #pat
文件内容替换(遍历所有文件)
指定一个文件夹路径,设置替换信息,点击“替换”按钮则开始替换,还有导入导出替换信息。
shell编程之如何遍历进入当前目录下的所有子目录(转)
问题: 我想在顶层目录下编写一个脚本来调用自录下的clean.sh文件,该如何实现?   第一种情况: 假设目录结构为: fme/      |__clean.sh       |__dc250/clean.sh      |__dc300/clean.sh      |__dc350/clean.sh 现在我在fme结构下编写一个clean.sh文件调用各个子目录下的c...
Linux目录遍历实现 -- 列出当前目录下所有文件
递归遍历目录,列出目录中的文件,代码:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <dirent.h> #include <sys/types.h> #include <sys/stat.h>#define MAX_PATH 512 //最大文件长度定义为512voi
python小知识--python遍历指定文件的所有文件和目录
概述os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。只支持在 Unix, Windows 下使用。语法listdir()方法语法格式如下:os.listdir(path)参数path -- 需要列出的目录路径返回值返回指定路径下的文件和文件夹列表。实例以下实例演示了 listdir() 方法的...
Python 读取指定目录下的所有子目录及所有文件
借鉴的   http://blog.csdn.net/pipisorry/article/details/46972171    但是他的代码有些问题。  在此更改后发出 扫描指定目录下的文件,或者匹配指定后缀和前缀的文件。 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如
访问当前目录下的子目录和文件信息
运行该程序,可以显示当前目录下的子目录和文件信息,如同DOS的DIR命令一样。可以轻易修改以便递归访问所有子目录。(和操作系统中的FCB-文件控制块概念相关)
在注册表中遍历指定文件夹下的子目录?
各位大虾们!~rn 等待你们的回答!~~rn知道怎么访问键值!~但不知道怎么遍历文件夹
遍历处理path及其子目录所有文件
'遍历处理path及其子目录所有文件Sub ShowAllFile(Path)    Set FSO = CreateObject("Scripting.FileSystemObject")    Set f = FSO.GetFolder(Path)    Set fc2 = f.files    For Each myfile in fc2         WScript.Echo path&...
如何遍历一个目录下所有子目录和文件??
我的一个目录下同时存在子目录和文件,我想对文件进行操作,对子目录再进行遍历,如何实现?谢谢赐教!
如何遍历某一文件夹下的所有子目录
如何遍历某一文件夹下的所有子目录(包含多层目录)
python对文件进行修改替换操作
当我们读取文件的内容后,想要修改文件中某一行的内容或者某一个位置上的内容时,可以尝试将文件所有的内容都读出来,然后进行匹配之后写入新文件中。 实现如下: fr = open("/home/yangjie/文档/机器学习/datingTestSet.txt",'r')##打开旧文件,设置权限为读 fr_new = open("/home/yangjie/文档/机器学习/datingTestSet_n...
bat计算当前目录下所有指定类型的文件数(包括子目录)
bat计算当前目录下所有指定类型的文件数(包括子目录)
想这么列出当前目录下的所有文件,及子目录的文件
不想列出文件夹rn只想列出所有文件,和所有子目录下的文件的相对路径名rnrn如rnrn./a rn./b/c rn./d rn./e rn./f rnrn大家有没有好一点的意见,有什么命令可以用不?
python 按关键词查找遍历所有文件和目录和子目录
python 按关键词查找遍历所有文件和目录, 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件 其中最下面的if语句为测试代码部分,当输入'123'时,会打印当前目录和当前目录的所有子目录下包含'123'的所有文件 当输入'.jpg'时,会打印当前目录和当前目录的所有子目录下包含'.jpg'格式的的所有文件 当输入'.'时,会打印当前目录和当前目录的所有子目录下 的所有文件 ...
C# 遍历子目录和文件
using System.Collections; using System.Collections.Generic; using System.IO; class PathScan {         Liststring> list = new Liststring>();     ///         /// 根据指定目录得到其所有子目录和文件
php遍历子目录文件
比较初级 希望对初学者有帮助function bianli($path){ $list=array(); $hand= opendir($path);//打开资源句柄 //读取路径下的文件 while(($temp=readdir($hand))!==false){ //判断是否是子目录 if($temp ...
delphi 文件搜索,遍历所有子目录
function ListFiles(path: string): TStringList; var   SearchRec: TSearchRec;   found: integer; begin   result := TStringList.Create;   found := FindFirst(path + '\' + '*.*', faAnyFile, SearchRec)
Python列出当前目录下所有含有指定名称的文件(包括路径)
Python列出当前目录下所有含有指定名称的文件(包括路径),经过本人测试可以正常运行, 形如这样 /data/text/test.txt /data/test.txt # -*- coding=utf-8 -*- __author__='wo' import os class Student(): def listSameFile(self,str,dir = os.pa
删除所有指定子目录或文件
删除所有目录中的名字为".svn"目录或文件 find . -name ".svn" | xargs rm -r
如何用python对文本进行操作
作为一个小白,这段内容学的很崩溃,不在于有多难,而是自己老是出错,记录一下吧  with open('test_word') as if:   File "", line 1     with open('test_word') as if:                                ^ SyntaxError: invalid syntax >>> wit
谁能用C给写个在linux下,遍历当前目录下的所有文件,并列出所有有子目录的文件名!
谁能给写个在linux下,遍历当前目录下的所有文件,并列出所有有子目录的文件名!请哪个高手用C写一个!我不会!所以准备请教学习!
怎样用字符串表示当前目录下的所有子目录?
在一个build.xml文件中看到一个目录路径表示:$basedir/..rn这是否表示basedir目录下的所有子目录?如果不是那又是什么意思呢?
如何返回当前目录下的所有子目录的目录名称
如何返回当前目录下的所有子目录的目录名称?rn谢谢
python 如何用迭代器遍历
昨天刚开始看pythonrnrn[code=Python]rndef: fibonacci():rn a , b = 0 , 1rn while True:rn yield brn a , b = b , a + brn #if a > 100000 :rn #breakrn#前面是书上的例子,后面两行注释掉的是我加上的,不知有没必要rn rnfib = fibonacci()rn#如果用fib.__next__()可以一次访问一个,怎么能用循环遍历呢?我用的是python 3.2的rn[/code]
python替换文件指定字符串
需求:将文件中的全部he替换成s with open('/download/python_practice/a.py','r') as r:     lines=r.readlines() with open('/download/python_practice/a.py','w') as w:     for l in lines:         w.write(l.repl
如何用JS递归一个目录下所有子目录(文件不用)。
不想用ASP的FSO,用JS有没有办法递归一个目录下所有子目录呢?例如我想用JS列出C:下所有目录,用递归的方法。
Python遍历指定文件夹下所有文件or文件夹
Python遍历指定文件夹下所有文件or文件夹 shell指令 #shell指令 find $NAME -type f find $NAME -type d Python源码 # real_path: $NAME for dir_name, _, file_names in os.walk(real_path): # 1. Full directory. p...
如何用内存文件进行序列化操作??
声明一变量:CSharedFile file;rnCGraphDoc* pDoc = GetDocument();rnCArchive ar(&file, CArchive::load);rnpDoc->m_aObjects.Serialize(ar);rnar.Close();rnrnCArchive ar(&file, CArchive::store);rn//针对ar,对用对象的序列化函数rnpDoc->m_aObjects.Serialize(ar);rnar.Close();rn//m_aObjects是一类型模板变量,支持序列化,是不是内存文件不能直接进行序列化呢?rnrnrnrnrn
python遍历指定类型文件
for root , dirs, files in os.walk('E:\\picture\\spic2\\train'):     for name in files:         if name.endswith(".jpg"):                    print (os.path.join(root, name))
遍历指定文件夹下的所有mdb文件
通过FolderBrowserDialog组件指定搜索路径,使用DirectoryInfo类遍历指定文件目录,并使用FileSystemInfo类提供的属性和方法,递归检索所有的mdb文件。并将检索到的mdb文件的名称、路径、大小和创建日期显示在ListView控件中。
mfc遍历指定文件夹下的所有文件
MFC下遍历文件夹下的所有文件,借助于CString类和CFileFind类的便捷,代码如下: 只有一层文件结构 很多时候我们要处理的文件只在一个特定的文件夹下,且该路径下除了待处理的文件之外没有其他文件夹,这时情况比较简单,不需要迭代处理,直接按照下面的操作即可: CString filepath = _T("/path/to/folder/"); CStri...
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法