如何用 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遍历文件夹的文件提取关键信息到新的表格

各位大神好,小弟目前在自学Python处理办公的一些数据,遇到一个问题: 假设目前有一份excel数据,格式为 df = ['ID', 'Name', 'Tracking Number'], 大概几千行这样; 另一个文件夹A下面有名称格式包含生成日期的多个CSV数据文件,格式为 df1 = ['Num1', 'Num2', 'Num3', 'Tracking Number']; 现在想根据df这里面的Tracking Number这一列的数据,去遍历文件夹A下面的所有CSV文件找到对应的Num1,Num2, Num3并且提取到df里面对应的行。 我目前尝试的方法是将A文件夹下所有文件合并成一个df,去重后再根据TrackingNumber使用merge函数拼接过去,这样的话随着A文件夹文件数量增多生成的合并df会很大,运行很慢,步骤过于繁琐,想请教一下各位有没有快捷点的方法可以实现?

读取python遍历中文目录得到的文件路径报错

各位朋友们好,我是一名python新手,现在遇到一个问题,恳请各位朋友们能指点一下我。 我的环境是:ubuntu14.04系统,python2.7 用python遍历一个目录,目录层次结构如下: 这是主目录: /home/chaoma/superboard/mydata/input/production 主目录下的目录层次结构如下 --超级画板教学资源_全处理_772 -- Z+Z资源库 --初中数学资源库 --1有理数 ---1.1数的分类 -- 0.mp4 -- name.txt …… --2一元一次方程 ….. --动态解析高考数学综合题 --第一章基本函数 --第四节 --06福建理21 --name.txt --0.mp4 --拓展练习4.1 …. --第五节 …… --第二章三角函数 ……. …… --学生作品集合_全处理_52 ……… 我想实现的功能:找到所有含有0.mp4文件的父目录,并读取该父目录下面的name.txt文件 因此我写了以下的遍历函数来实现这一功能: def visitDir_walk(path , sFileSuffix): codedetect = chardet.detect(path)["encoding"] path = unicode(path , codedetect) fileNames = list() for root,dirs,files in os.walk(path): for i in range(0 , len(files)): file = files[i] if file.endswith(sFileSuffix): sFileName = os.path.join(root , file) #这边返回的应该是包含视频文件的父目录,也就是学生作品目录 realFileName = os.path.split(os.path.abspath(sFileName))[0] fileNames.append( unicode(realFileName,”gbk”) ) return fileNames def main(): sProductionInputPath = “/home/chaoma/superboard/mydata/input/production” dir_production_list = visitDir_walk(sProductionInputPath , ".mp4") #拼接name.txt的路径 for dir in dir_production_list: nameFile = os.path.join(dir , "name.txt") fout = codecs.open(nameFile , "w" , "utf-8") #截取出路径中的文件名作为需要的内容,并写入文件 fout.write(os.path.split(path)[1]) fout.close() main() 但是执行之后却报错了,报错如下: fout = codecs.open(nameFile , "w" , "utf-8") File "/usr/lib/python2.7/codecs.py", line 878, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 2] No such file or directory: u'/home/chaoma/superboard/mydata/input/production/\u8d85\u7ea7\u753b\u677f\u6559\u5b66\u8d44\u6e90_\u5168\u5904\u7406_772/\u52a8\u6001\u89e3\u6790\u9ad8\u8003\u6570\u5b66\u7efc\u5408\u9898/\u7b2c\u4e00\u7ae0\u57fa\u672c\u51fd\u6570/\u7b2c\u56db\u8282/06\u798f\u5efa\u740621/name.txt' 打印这个报错的路径得到: /home/chaoma/superboard/mydata/input/production/超级画板教学资源_全处理_772/动态解析高考数学综合题/第一章基本函数/第四节/06福建理21/name.txt 这个文件路径是存在的却报错,不知道为什么。难道是路径是unicode类型就不能识别吗? 恳请各位朋友们能指点我一下,十分感谢。

python 文件目录遍历代码 输出不对

``` def listAppendlist(l1,l2): for x in l2: l1.append(x); def mylistAllFiles(pathstr): pathfiles = []; pathfilestmp = os.listdir(pathstr); for x in pathfilestmp: pathfiles.append(os.path.abspath(x)); print(pathfiles); for x in pathfiles: print(x); if os.path.isdir(x): listAppendlist(pathfiles,mylistAllFiles(x)); return pathfiles; lfiles = mylistAllFiles('D:\pythonWorkSpace') ``` 实际目录结构如下: D:\pythonWorkSpace\Demo.py D:\pythonWorkSpace\DemoPro D:\pythonWorkSpace\DemoPro\.idea D:\pythonWorkSpace\DemoPro\.idea\DemoPro.iml D:\pythonWorkSpace\DemoPro\.idea\encodings.xml D:\pythonWorkSpace\DemoPro\.idea\misc.xml D:\pythonWorkSpace\DemoPro\.idea\modules.xml D:\pythonWorkSpace\DemoPro\.idea\workspace.xml D:\pythonWorkSpace\DemoPro\com D:\pythonWorkSpace\DemoPro\com\aruforce D:\pythonWorkSpace\DemoPro\com\aruforce\demo D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo2.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DocTestDemo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\GcDemo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\IODemo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\UnitestDemo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\__init__.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\__pycache__ D:\pythonWorkSpace\DemoPro\com\aruforce\__init__.py D:\pythonWorkSpace\DemoPro\com\aruforce\__pycache__ D:\pythonWorkSpace\DemoPro\com\__init__.py D:\pythonWorkSpace\DemoPro\com\__pycache__ D:\pythonWorkSpace\HelloWorld.py D:\pythonWorkSpace\test.jpg D:\pythonWorkSpace\test2.jpg lfiles 输出为: D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DemoPro D:\pythonWorkSpace\DemoPro\com\aruforce\demo\HelloWorld.py D:\pythonWorkSpace\DemoPro\com\aruforce\demo\test.jpg D:\pythonWorkSpace\DemoPro\com\aruforce\demo\test2.jpg 指数输出了一级目录 请帮满看看代码问题出在哪里?

如何列出一个目录的所有文件?

<div class="post-text" itemprop="text"> <p>How can I list all files of a directory in Python and add them to a <code>list</code>?</p> </div> <p>转载于:https://stackoverflow.com/questions/3207219/how-do-i-list-all-files-of-a-directory</p>

如何只遍历一个节点下的子节点

<?xml version="1.0" encoding="UTF-8"?> <versions> <version> <sn>1.0.0</sn> <list> <action> <title>1</title> <desc>描述</desc> </action> <action> <title>2</title> <desc>描述</desc> </action> </list> <details>详情</details> </version> <version> <sn>1.0.1</sn> <list> <action> <title>1</title> <desc>描述</desc> </action> </list> <details>详情</details> </version> </versions> 只遍历sn为1.0.0下list sn为1.0.1的不进行遍历

遍历文件夹,获取文件夹下和子文件夹下所有扩展名为.png类型的文件名

遍历文件夹,获取文件夹下和子文件夹下所有扩展名为.png类型的文件名

python使用elementTree如何读取xml文件标签嵌套中的文本。

``` <text top="310" left="449" width="347" height="16" font="1"> <i>Fig. 1.</i> Training with brain computer interface–neuromuscular electrical </text> ``` ``` <text top="310" left="449" width="347" height="16" font="1"> Training with brain computer <i>Fig. 1.</i> interface–neuromuscular electrical </text> ``` 上述是xml文件中的一部分,如何用python处理像这样大标签文本中嵌入着子标签,从而读取到完整的文本内容? 子标签如果在文本开头的话,直接输出.text会输出None; 子标签如果在文本中间的话,就会只输出前半部分(即Training with brain computer)。 有没有什么办法能输出完整的文本, 即Fig. 1.Training with brain computer interface–neuromuscular electrical 和 Training with brain computer Fig. 1. interface–neuromuscular electrical 这两种结果?求大神指点。。。

如何用python找出有包含关系表的父节点id,并导入数据库,关系参考省市区关系

原始表某个字段有一个包含关系, 比如说包含关系a-b-c-d, 那么b的父节点就是a, c的父节点就是b, 如果以下有个包含关系a-b-e-f 那么e的父节点是b f的父节点是e;我现在已经给a b c d e f 以一个自增字段来编号了 编了对应的 1 2 3 4 5 6, 那么c的父节点是b 也就是c的父节点编号是2;我现在遇到的难题是如何通过遍历来找c的前一个节点b 也就是他的父节点 ![图片说明](https://img-ask.csdn.net/upload/201710/08/1507425976_864821.jpg)

linux shell 判断指定目录下文件或者文件夹最后修改时间是否大于三天~

我的需求是 判断指定目录下的文件或者文件夹最后修改时间是否大于三天(和系统时间相比), 如果大于三天将其文件或者文件夹删除包括文件夹里所有子项。 我对shell不是很熟,朋友们是否帮忙一下,提供一个脚本。谢谢……

遍历数据集,查找不同的数据

![图片说明](https://img-ask.csdn.net/upload/201704/14/1492155705_263854.png) list:[{isup=0, Qty=1, id=1, barcode=999546321, UnloadQty=1}] invoice字符串,当invoice和barcode相同时不做操作,其不同时插入数据,上面的只能做到插入数据,但是当其相同的时候,怎么不做插入?

vba 自动加载宏 批量打开并保存xls

把下面修改成遍历当前目录,而不是子目录,还有就是如何自动加载宏 Sub test() Dim mPath As String, fA As String, mAry(1 To 1000), k As Integer, i As Integer, wb As Workbook On Error Resume Next If Workbooks.Count > 1 Then MsgBox "关闭其他工作簿!": Exit Sub '----------设置父文件夹路径----- mPath = "D:\Project overview 2015" fA = Dir(mPath & "\*", vbDirectory) '开始收集子目录名称 k = 0 Do While fA <> "" If fA <> "." And fA <> ".." Then If (GetAttr(mPath & "\" & fA) And vbDirectory) = vbDirectory Then k = k + 1 mAry(k) = fA End If End If fA = DirLoop '--------------遍历各子目录-------- Application.DisplayAlerts = False For i = 1 To k fA = Dir(mPath & "\" & mAry(i) & "\*.xls*") Do While fA <> "" If fA <> ThisWorkbook.Name Then Set wb = Workbooks.Open(mPath & "\" & mAry(i) & "\" & fA, , False) '打开 wb.Save '保存 wb.Close True '关闭 End If fA = Dir Loop Next i Application.DisplayAlerts = True MsgBox "处理完成!" End Sub

查找数组中是否包含另一个数组 这个循环怎么写?

查找数组中是否包含另一个数组,要将待匹配的数组作为循环列表查找,这个循环怎么写?

跑AlexNet猫狗遇到IndexError: too many indices for array的问题

小弟最近在看OpenCV+TensorFlow这本书的案例 照着输进去了结果发现运行不下去, 问题应该是出现在第二块内容,但是真的不太明白!求各位大神赐教,如何修改! ![图片说明](https://img-ask.csdn.net/upload/201906/30/1561889895_192060.png) 第一块,修改照片尺寸,为啥呀 ``` import cv2 import os def resize(dir): for root, dirs, files in os.walk(dir): for file in files: filepath = os.path.join(root, file) try: image = cv2.imread(filepath) dim = (227, 227) resized = cv2.resize(image, dim) path = "C:\\Users\\Telon_Hu\\Desktop\\ANNs\\train1\\" + file cv2.imwrite(path, resized) except: print(filepath) # os.remove(filepath) cv2.waitKey(0) resize('C:\\Users\\Telon_Hu\\Desktop\\ANNs\\train') ``` ``` import os import numpy as np import tensorflow as tf import cv2 def get_file(file_dir): images=[] temp=[] for root,sub_folders,files in os.walk(file_dir): ''' os.walk(path)---返回的是一个三元组(root,dirs,files): root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录) ''' for name in files: images.append(os.path.join(root,name)) for name in sub_folders: temp.append(os.path.join(root,name)) labels=[] for one_folder in temp: n_img=len(os.listdir(one_folder)) #s.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表 letter=one_folder.split('\\')[-1] #split() 通过指定分隔符对字符串进行切片,默认为-1, 即分隔所有。 if letter=='cat': labels=np.append(labels,n_img*[0]) else: labels=np.append(labels,n_img*[1]) temp=np.array([images, labels]) temp=temp.transpose() #矩阵转置 np.random.shuffle(temp) #随机排序 image_list=list(temp[:, 0]) label_list=list(temp[:, 1]) label_list=[int(float(i)) for i in label_list] return image_list,label_list def get_batch(image_list,label_list,img_width,img_height,batch_size,capacity): image=tf.cast(image_list,tf.string) label=tf.cast(label_list,tf.int32) input_queue=tf.train.slice_input_producer([image,label]) label=input_queue[1] image_contents=tf.read_file(input_queue[0]) #通过图片地址读取图片 image=tf.image.decode_jpeg(image_contents,channels=3) #解码图片成矩阵 image=tf.image.resize_image_with_crop_or_pad(image,img_width,img_height) ''' tf.image.resize_images 不能保证图像的纵横比,这样用来做抓取位姿的识别,可能受到影响 tf.image.resize_image_with_crop_or_pad可让纵横比不变 ''' image=tf.image.per_image_standardization(image) #将图片标准化 image_batch,label_batch=tf.train.batch([image,label],batch_size=batch_size,num_threads=64,capacity=capacity) ''' tf.train.batch([example, label], batch_size=batch_size, capacity=capacity): 1.[example, label]表示样本和样本标签,这个可以是一个样本和一个样本标签 2.batch_size是返回的一个batch样本集的样本个数 3.num_threads是线程 4.capacity是队列中的容量。 ''' label_batch=tf.reshape(label_batch,[batch_size]) return image_batch,label_batch def one_hot(labels): '''one-hot 编码''' n_sample=len(labels) n_class=max(labels)+1 onehot_labels=np.zeros((n_sample,n_class)) onehot_labels[np.arange(n_sample),labels]=1 return onehot_labels get_file('C:\\Users\\Telon_Hu\\Desktop\\ANNs\\dogs_vs_cats\\') ``` ``` import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import time import os import sys import creat_and_read_TFReacord as reader x_train,y_train=reader.get_file('dogs_vs_cats') image_batch,label_batch=reader.get_batch(x_train,y_train,227,227,50,2048) #Batch_Normalization正则化 def batch_norm(inputs,is_train,is_conv_out=True,decay=0.999): scale=tf.Variable(tf.ones([inputs.get_shape()[-1]])) beta = tf.Variable(tf.zeros([inputs.get_shape()[-1]])) pop_mean = tf.Variable(tf.zeros([inputs.get_shape()[-1]]), trainable=False) pop_var = tf.Variable(tf.ones([inputs.get_shape()[-1]]), trainable=False) if is_train: if is_conv_out: batch_mean, batch_var = tf.nn.moments(inputs, [0, 1, 2]) else: batch_mean, batch_var = tf.nn.moments(inputs, [0]) train_mean = tf.assign(pop_mean, pop_mean * decay + batch_mean * (1 - decay)) train_var = tf.assign(pop_var, pop_var * decay + batch_var * (1 - decay)) with tf.control_dependencies([train_mean, train_var]): return tf.nn.batch_normalization(inputs, batch_mean, batch_var, beta, scale, 0.001) else: return tf.nn.batch_normalization(inputs, pop_mean, pop_var, beta, scale, 0.001) with tf.device('/gpu:0'): # 模型参数 learning_rate = 1e-4 training_iters = 200 batch_size = 50 display_step = 5 n_classes = 2 n_fc1 = 4096 n_fc2 = 2048 # 构建模型 x = tf.placeholder(tf.float32, [None, 227, 227, 3]) y = tf.placeholder(tf.float32, [None, n_classes]) W_conv = { 'conv1': tf.Variable(tf.truncated_normal([11, 11, 3, 96], stddev=0.0001)), 'conv2': tf.Variable(tf.truncated_normal([5, 5, 96, 256], stddev=0.01)), 'conv3': tf.Variable(tf.truncated_normal([3, 3, 256, 384], stddev=0.01)), 'conv4': tf.Variable(tf.truncated_normal([3, 3, 384, 384], stddev=0.01)), 'conv5': tf.Variable(tf.truncated_normal([3, 3, 384, 256], stddev=0.01)), 'fc1': tf.Variable(tf.truncated_normal([6 * 6 * 256, n_fc1], stddev=0.1)), 'fc2': tf.Variable(tf.truncated_normal([n_fc1, n_fc2], stddev=0.1)), 'fc3': tf.Variable(tf.truncated_normal([n_fc2, n_classes], stddev=0.1)) } b_conv = { 'conv1': tf.Variable(tf.constant(0.0, dtype=tf.float32, shape=[96])), 'conv2': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[256])), 'conv3': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[384])), 'conv4': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[384])), 'conv5': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[256])), 'fc1': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[n_fc1])), 'fc2': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[n_fc2])), 'fc3': tf.Variable(tf.constant(0.0, dtype=tf.float32, shape=[n_classes])) } x_image = tf.reshape(x, [-1, 227, 227, 3]) # 卷积层 1 conv1 = tf.nn.conv2d(x_image, W_conv['conv1'], strides=[1, 4, 4, 1], padding='VALID') conv1 = tf.nn.bias_add(conv1, b_conv['conv1']) conv1 = batch_norm(conv1, True) conv1 = tf.nn.relu(conv1) # 池化层 1 pool1 = tf.nn.avg_pool(conv1, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') norm1 = tf.nn.lrn(pool1, 5, bias=1.0, alpha=0.001 / 9.0, beta=0.75) # 卷积层 2 conv2 = tf.nn.conv2d(pool1, W_conv['conv2'], strides=[1, 1, 1, 1], padding='SAME') conv2 = tf.nn.bias_add(conv2, b_conv['conv2']) conv2 = batch_norm(conv2, True) conv2 = tf.nn.relu(conv2) # 池化层 2 pool2 = tf.nn.avg_pool(conv2, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') # 卷积层3 conv3 = tf.nn.conv2d(pool2, W_conv['conv3'], strides=[1, 1, 1, 1], padding='SAME') conv3 = tf.nn.bias_add(conv3, b_conv['conv3']) conv3 = batch_norm(conv3, True) conv3 = tf.nn.relu(conv3) # 卷积层4 conv4 = tf.nn.conv2d(conv3, W_conv['conv4'], strides=[1, 1, 1, 1], padding='SAME') conv4 = tf.nn.bias_add(conv4, b_conv['conv4']) conv4 = batch_norm(conv4, True) conv4 = tf.nn.relu(conv4) # 卷积层5 conv5 = tf.nn.conv2d(conv4, W_conv['conv5'], strides=[1, 1, 1, 1], padding='SAME') conv5 = tf.nn.bias_add(conv5, b_conv['conv5']) conv5 = batch_norm(conv5, True) conv5 = tf.nn.relu(conv5) # 池化层5 pool5 = tf.nn.avg_pool(conv5, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') reshape = tf.reshape(pool5, [-1, 6 * 6 * 256]) fc1 = tf.add(tf.matmul(reshape, W_conv['fc1']), b_conv['fc1']) fc1 = batch_norm(fc1, True, False) fc1 = tf.nn.relu(fc1) # 全连接层 2 fc2 = tf.add(tf.matmul(fc1, W_conv['fc2']), b_conv['fc2']) fc2 = batch_norm(fc2, True, False) fc2 = tf.nn.relu(fc2) fc3 = tf.add(tf.matmul(fc2, W_conv['fc3']), b_conv['fc3']) # 定义损失 loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=fc3)) optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(loss) # 评估模型 correct_pred = tf.equal(tf.argmax(fc3,1),tf.argmax(y,1)) accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32)) init = tf.global_variables_initializer() def onehot(labels): '''one-hot 编码''' n_sample = len(labels) n_class = max(labels) + 1 onehot_labels = np.zeros((n_sample, n_class)) onehot_labels[np.arange(n_sample), labels] = 1 return onehot_labels save_model = ".//model//AlexNetModel.ckpt" def train(opech): with tf.Session() as sess: sess.run(init) train_writer = tf.summary.FileWriter(".//log", sess.graph) # 输出日志的地方 saver = tf.train.Saver() c = [] start_time = time.time() coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(coord=coord) step = 0 for i in range(opech): step = i image, label = sess.run([image_batch, label_batch]) labels = onehot(label) acc=[] sess.run(optimizer, feed_dict={x: image, y: labels}) loss_record = sess.run(loss, feed_dict={x: image, y: labels}) acc=sess.run(accuracy,feed_dict={x:image,y:labels}) print("now the loss is %f " % loss_record) print("now the accuracy is %f "%acc) c.append(loss_record) end_time = time.time() print('time: ', (end_time - start_time)) start_time = end_time print("---------------%d onpech is finished-------------------" % i) print("Optimization Finished!") # checkpoint_path = os.path.join(".//model", 'model.ckpt') # 输出模型的地方 saver.save(sess, save_model) print("Model Save Finished!") coord.request_stop() coord.join(threads) plt.plot(c) plt.xlabel('Iter') plt.ylabel('loss') plt.title('lr=%f, ti=%d, bs=%d' % (learning_rate, training_iters, batch_size)) plt.tight_layout() plt.savefig('cat_and_dog_AlexNet.jpg', dpi=200) train(training_iters) ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Linux 会成为主流桌面操作系统吗?

整理 |屠敏出品 | CSDN(ID:CSDNnews)2020 年 1 月 14 日,微软正式停止了 Windows 7 系统的扩展支持,这意味着服役十年的 Windows 7,属于...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

学习总结之HTML5剑指前端(建议收藏,图文并茂)

前言学习《HTML5与CSS3权威指南》这本书很不错,学完之后我颇有感触,觉得web的世界开明了许多。这本书是需要有一定基础的web前端开发工程师。这本书主要学习HTML5和css3,看...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

冒泡排序动画(基于python pygame实现)

本项目效果初始截图如下 动画见本人b站投稿:https://www.bilibili.com/video/av95491382 本项目对应github地址:https://github.com/BigShuang python版本:3.6,pygame版本:1.9.3。(python版本一致应该就没什么问题) 样例gif如下 ======================= 大爽歌作,mad

Redis核心原理与应用实践

Redis核心原理与应用实践 在很多场景下都会使用Redis,但是到了深层次的时候就了解的不是那么深刻,以至于在面试的时候经常会遇到卡壳的现象,学习知识要做到系统和深入,不要把Redis想象的过于复杂,和Mysql一样,是个读取数据的软件。 有一个理解是Redis是key value缓存服务器,更多的优点在于对value的操作更加丰富。 安装 yum install redis #yum安装 b...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐