精华内容
下载资源
问答
  • for循环连续创建对象

    千次阅读 2019-06-27 13:08:05
    在获取CSDN访问量的小项目中,需要获取我所有博客,创建了一个Blog类,所以需要创建n多个对象。 所以就需要用一个for循环创建。 然后普通的操作,好像并不能让字符串变成变量名! 因此我百度了一下,找到了下面的...

     

     版权声明:转载请标注来源 https://blog.csdn.net/hehedadaq/article/details/81742013

    前言:

    在获取CSDN访问量的小项目中,需要获取我所有博客,创建了一个Blog类,所以需要创建n多个对象。

    所以就需要用一个for循环创建。

    然后普通的操作,好像并不能让字符串变成变量名!

    因此我百度了一下,找到了下面的方法,这个就不加链接了,因为太多了

     

    代码:

    
     
    1. class Blog:

    2. def __init__(self,num):

    3. print("a new object num is",num)

    4. self.value = num

    5.  
    6. def __str__(self):

    7. return str(self.value+3)

    8.  
    9. # 循环建立四个对象,locals()函数可以将字符串转换为变量名!

    10. #具体的操作和含义我并不清楚,大家可以自行百度~

    11. for i in range(1,5):

    12. locals()['blog_'+str(i)] = Blog(i)

    13.  
    14. #验证是否有blo_3这个对象变量

    15. print(blog_3)

    16.  

    我们来看看显示的效果~

    
     
    1. ('a new object num is', 1)

    2. ('a new object num is', 2)

    3. ('a new object num is', 3)

    4. ('a new object num is', 4)

    5. 3

    可以看出,确实创建了四个对象,而且变量名为“blog_3"的对象确实存在~

    OK,我们又解决了一个小问题~

    展开全文
  • 在Shell脚本中调用另一脚本的三种方式: source 指定脚本中的命令在同一shell中运行。(默认shell中的命令都是创建sub-shell,然后执行。执行完后,返回父shell) fork 就是创建sub-shell运行脚本中的命令,和...

    背景知识

    获取进程PID杀进程

    pid=`lsof -i:7009 | grep LISTEN | awk '{print $2}'`
    kill -9 $pid

    在Shell脚本中调用另一个脚本的三种方式:

    • source 指定脚本中的命令在同一个shell中运行。(默认shell中的命令都是创建sub-shell,然后执行。执行完后,返回父shell)
    • fork 就是创建sub-shell运行脚本中的命令,和默认运行方式相同。
    • exec 和source相似,区别就是,运行完毕命令后退出,不会返回父shell
       

    shell运行多个脚本 、多个命令

    1.每个命令之间用;隔开

    说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。

    2.每个命令之间用&&隔开

    说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。

    3.每个命令之间用||隔开

    说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止

    4.同时运行多个命令的方式:&符号。

    注意:试验了多次   ; 和  kill -2都没解决问题,&符号和 ()一起,才解决了同时执行三个不同目录下多个sh脚本的问题。

    参考了这篇文章:https://blog.csdn.net/Scythe666/article/details/85244901

    
    #!/bin/sh
    #修改前的脚本
    python a.py > logs/a.log
    python b.py > logs/b.log
    python c.py > logs/c.log
    
    #运行发现只有一个python进程,看日志发现只有a运行了,b和c都没跑起来。
    #估计因为shell是顺序执行的,a没执行完,所以不会去执行b和c,查了一下果然。
    #修改后
    
    
    #!/bin/sh
    #启动前先停止所有py进程:
    ps -ef | grep python | cut -c 9-15| xargs kill -s 9
    #shell也提供了一个同时运行多个命令的方式:&符号
    python a.py > logs/a.log & python b.py > logs/b.log & python c.py > logs/c.log

    我的疑问:有多个sart .sh脚本,启动A后,不停的打日志,就不执行后面的start2.sh了

    问题: 有多个sart .sh脚本,启动A后,不停的打日志,就不执行后面的start2.sh了,一般在Terminal里面就按Ctrl+C了。

    但是怎么在shell脚本里面实现这个呢?

    百度结果:

    做自动化测试, 需要用instruments命令启动模拟器, 这个命令启动模拟器后不会自动退出. 需要按Ctrl+C, 并且在退出时, 这个命令会写数据到指定文件, 我们也需要拿到这些数据. 如何在shell脚本或者其他编程语言中实现在Terminal里面按Ctrl+C的效果?

    作者答复用了  kill -2

    但是,我试验了kill -2对我 并不起作用啊???

    我后面的解决办法:用了重定向,不想再屏幕上看到输出结果。然后用了 &符号让多个shell脚本同时执行。

    /dev/null 文件
    如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
    举例 $ command > /dev/null
    /dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
    
    如果希望屏蔽 stdout 和 stderr,可以这样写:
    $ command > /dev/null 2>&1
    注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

     

    如何利用shell在终端下输了ctrl+z,ctrl+c,ctrl+d

    通常来说:
    ctrl-c 是发送 SIGINT 信号,
    ctrl-z 是发送 SIGSTOP信号
    ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF
    
    具体你可以 stty -a 查看系统设置
    
    你如果想在脚本中实现,举个例子:
    
    sleep 100 &
    pid=$!
    kill -SIGSTOP $pid  # 相当于 ctrl-z
    kill -SIGCONT $pid  # 相当于 fg
    kill -SIGINT $pid   # 相当于 ctrl-c

    多个同名的sh脚本怎么用一个sh脚本执行?

    问题背景描述:

    比如A目录下有好几个子文件
    A:/a
    A:/b
    A:/c
    A:/d
    每个文件夹都有个同名的down.sh,我想同时运行这个down.sh ,如何弄?

    如果一个个进到对应目录执行也是OK的,但是比较麻烦。就想汇总1个SH来执行多个sh脚本比较省事。

    下面这个网友的一行命令非常好,但是我那多个sh脚本里面,有的是相对路径,有的是绝对路径,执行会报错文件不存在之类的(文件不是我写的,我也懒得去改了)

    find . -iname down.sh -exec \{\} \;

    参考了另外的答复,写了1个sh脚本,测试了下,没发现啥问题

    for 变量 in 父目录/*                         遍历父目录里面的全部子目录

    #!/bin/bash
    for folder in /tools/apps/*
    do
    # 这里的-d 参数判断$folder是否存在,-f 参数判断 $file 是否存在
    if [ -d $folder ] && [ -f $folder/down.sh ]; then
         cd $folder && chmod +x $folder/down.sh &&  $folder/down.sh && echo "$folder ok"
    fi
    done

     

    怎么用1个shell杀掉多个指定的端口呢

    问题描述:目录里面部署了多个服务。每个服务的端口是分配的固定的。一个个的杀好麻烦,一个shell自动杀岂不更好

    for 变量 in $数组[*]               遍历数组里的端口号    

    #!/bin/bash
    #"down_all.sh"杀掉shell脚本所在目录里面指定端口的进程
    a=(7002 7003 7004 7005)
    for port in ${a[*]}; do
    #echo $i
    #把命令提取到的进程id赋值给变量id。语法是:反单引号把命令括起来,赋值给变量
    id=`lsof -i:$port |grep -i 'LISTEN'| awk '{print $2}'`
    kill -9 $id && echo "kill $port success" 
    done

    怎么用1个shell查看多个指定端口的状态呢?

    #!/bin/bash
    #"p_all.sh" 查看指定端口的状态
    a=(9002 9003 9004 9005 9007 )
    for port in ${a[*]}; do
    #echo $i
    id=`lsof -i:$port |grep -i 'LISTEN'`
    echo $id
    done

     

    展开全文
  • 想在MATLAB中用一个FOR循环连续读入并显示几图像文件应该怎么写? 比如: for k=1:8 filename=sprintf('image_000%d.jpg',k); f=imread(filename); figure,imshow(f); end 这样只能读入一文件,现在想把8...

    论坛上一具体问题:

    想在MATLAB中用一个FOR循环连续读入并显示几个图像文件应该怎么写?

    比如:
    for k=1:8
    filename=sprintf('image_000%d.jpg',k);
    f=imread(filename);
    figure,imshow(f);
    end
    这样只能读入一个文件,现在想把8个图像文件分别读到f1,f2,...,f8中并显示出来应该怎么做呢

    用imshow,显示多图时,它是一张一张覆盖上去的,所以看到最后一张图

    解决方法:

     

    用eval命令,例如
    可以把第三句换成
    eval(['f' num2str(i) '=imread(filename);']);

     

    eval基本的用法:
    eval('string')

    这个string是一些合法的matlab命令。eval('string')的作用就是相当于在命令窗里输入string这个命令并执行。

    比如 eval('a=rand(2,3);')
    就相当于在命令窗输入a=rand(2,3);后回车

    改了之后

    问题解决了,最后的代码是:
    for k=1:8
    filename=sprintf('image_000%d.jpg',k);
    eval(['f' num2str(k) '=imread(filename);']);
    eval(['figure,imshow(f' num2str(k) ');']);
    end

    展开全文
  • 1. for循环这里写代码片参考: 1.Shell脚本中循环语句for,while,until用法

    1. for循环

    创建多个目录和嵌套目录

    #!/bin/bash
    for k in $(seq 1 4)                    #seq 从某个数到某个数之前的所有整数
    do
        mkdir /home/file${k}
        cd /home/file${k}
    
        for l in $(seq 1 4)
        do
        cd /homet/file${k}
        mkdir dir${l}
        done
    
        tree /home/
    done

    参考:
    1.Shell脚本中循环语句for,while,until用法

    展开全文
  • for循环进行获取多个控件id
  • 在获取CSDN访问量的小项目中,需要获取我所有博客,创建了一个Blog类,所以需要创建n多个对象。 所以就需要用一个for循环创建。 然后普通的操作,好像并不能让字符串变成变量名! 因此我百度了一下,找到了下面的...
  • 现在我想用线程优化for循环,但是线程的匿名内部类里面的全局变量只能是final的,final变量只能赋值一次啊,我就不能连续添加值到那个list里面了 怎么办?还有比如我现在开四线程,每线程for循环一千次,...
  • 有些人循环用的是普通for循环, 有些人用的是增强for循环, 它们之间有什么区别?应该在什么时候使用这两种循环了? ==========语法格式========== 普通for循环语法: for (int i = 0; i < integers....
  • C语言For循环详解

    千次阅读 多人点赞 2018-08-01 11:14:50
    c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式 1;表达式 2;表达式 3
  • python跳出双层for循环

    千次阅读 2018-08-06 14:53:07
     在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是,直接在内层循环中break并不会让外层循环也终止。   二.解决方案  使用for....
  • java 跳出两个for循环

    千次阅读 2016-04-25 21:13:46
    第一种方法:最外层for循环标签 outterLoop: for (int i = 0; i ; i++){ for (int j = 0; j ; j++){ // …… break outterLoop; // 跳出外层循环 }
  • Java for循环和foreach循环的性能比较

    万次阅读 多人点赞 2016-09-30 16:48:41
    在公司codereview过程中,发现一问题,就是有些人循环用的是普通for循环,有些人用的是foreach循环,它们之间有什么区别?应该在什么时候使用这两种循环了? 两种循环的语法格式: 普通for循环语法: for (int i =...
  • 众所周知没学一门语言都会学习if和for的基本用法,mybatis也是如此。无数的if和for去拼接更好更长的数据库语句,以下是我用MYSQL数据库写的语句希望能给你一些启发和引导 1.Mybatis的if语句 <select id=&...
  • ES6与for循环

    千次阅读 2017-03-23 12:10:00
    在ECMAScript5(简称 ES5)中,有三种 for 循环...简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循环,是: for-of 下面我们就来看看这 4 种 for 循环。 简单...
  • C++ for循环效率

    千次阅读 2019-01-11 00:33:14
    1、考虑二维数组,在C++中,以先行后列的方式存储连续的数组元素。...但是,二维数组的数据往往需要多个内存分页才能容纳,由于C++同一行的元素在一起,先行后列,更符合空间局部性,可以减少换页...
  • 成功解决for循环语句中,后几次循环输出数据一直全部为空 目录 解决问题 解决思路 解决方法 解决问题 for循环语句中,后几次循环输出数据一直全部为空 解决思路 数据为空,如果不是...
  • windows 批处理 for循环语句

    万次阅读 2016-01-16 20:48:10
    命令格式:for{%variable |%% variable } in (集合) do command [options] %variable |%% variable: 代表可替换参数。...这变量可以是26英文字母任意一,也可以是其他;这些变量会区分大小写,%%x 和%%X代表
  • for循环语句中,每循环一次就要生成一张图片,可以按照以下方法将照片自动保存: 1. plt.savefig("D:/figures/temp{}.png".format(i)) 2. plt.clf() 示例: #导入两包 import matplotlib.pyplot as ...
  • 深入理解JavaScript中的for循环

    千次阅读 2016-12-18 17:16:54
    简单for循环for-inforEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循环,是: for-of 下面我们就来看看这 4 种 for 循环。 简单 for 循环 下面先来看看大家最常见的一种写法: ...
  • 学习算法的时间复杂度的渐进表示时所遇到的一例子:计算多层for循环嵌套时的语句频度。语句频度即执行最多的语句(基本语句)重复执行的次数。 for(int i=1;i<=n;i++) for(int j=1;j<=i;j++) for(int k...
  • python中如何跳出多个循环

    千次阅读 2019-01-23 15:40:58
    break语句只能跳出当前的循环,但是如果我们要跳出多个嵌套的循环,该如何实现呢?可以通过定义一个保存循环状态的变量,然后再结合判断语句即可,看如下代码: bool_flag_1=False while True: while True: bool...
  • 计数器循环----for循环:for 目标 in 表达式 循环体 比如: favourite = ‘Fishc’ for y in favourite: print(y,end=‘ ’) 在这里,y代表的是favourite变量中的每一字母,这y可以替换成别的,空格则表示在...
  • Verilog中for循环的处理办法

    万次阅读 2018-10-14 22:13:09
    在C语言中,经常用到for循环语句,但在硬件描述语言中for语句的使用较C语言等软件描述语言有较大的区别。...主要原因就是for循环会被综合器展开为所有变量情况的执行语句,每变量独立占用寄存器资源...
  • 易错点:for循环中循环变量的更新所带来的问题标签:C语言 for循环 易错点by 小威威1.for循环的介绍for循环的格式如下: for (表达式1;表达式2;表达式3) 其中,表达式1指初始化表达式,表达式2指循环条件表达式...
  • Python——while和for循环

    万次阅读 2015-11-18 18:05:26
    本文介绍了while和for循环,介绍了循环语句中break、continue、pass和循环else语句的用法,重点介绍了for循环的细节,包括在循环中进行元祖赋值、扩展解包赋值。最后介绍了几种常用的工具:range、zip、map和...
  • python中while循环和for循环的用法

    千次阅读 2014-12-26 16:01:16
    while语句,提供了编写通用循环的一种方法,而for语句是用来遍历序列对象内的元素,并对每元素运行一代码块。break,continue用在循环内,跳出整个循环或者跳出一次循环。 一、while循环 1、一般格式 格式:...
  • ArrayList内部是一数组,get方法只是从数组里面拿一位置上的元素罢了。我们有结论,ArrayList的get方法的时间复杂度是O(1),O(1)的意思也就是说时间复杂度是一常数,和数组的大小并没有关系,只要给定数组的...
  • matlab for循环其实并不慢

    万次阅读 2016-09-23 11:12:08
    matlab for循环其实并不慢,首先matlab是一解释性语言,变量不需要提前申明,这也就是导致很多人误认为matlab for循环很慢的。其实是错误的认识! 原因:因为matlab循环中变量没有预先声明,导致在循环中数组大小...
  • PHP中的多维数组及使用for循环遍历数组!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 167,145
精华内容 66,858
关键字:

多个连续的for循环