首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python模块之subprocess类与常量

常量 subprocess.DEVNULL:可传递给stdin, stdout, stderr参数的特殊值,意味着将使用特殊文件os.devnull重定向输入输出 subprocess.PIPE:可传递给...stdin, stdout, stderr参数的特殊值,意味着使用管道重定向输入输出 subprocess.STDOUT:可传递给stderr参数的特殊值,表示重定向标准错误到标准输出 Popen 在一个新的进程中执行子程序...shell:指定是否使用shell作为要执行的程序。如果设置为True,更推荐和字符串类型的args参数使用。 在POSIX系统,shell=True默认使用/bin/sh作为shell。...如果args为字符串,该字符串表示要通过shell执行的命令;如果args为序列,第一个元素指定要执行的程序,其他元素视为参数。...在Windows系统,shell=True默认使用COMSPEC环境变量指定的shell,一般是C:\WINDOWS\system32\cmd.exe。

2.5K10

linux shell:将蛇形命名法(snake-case)变量字符串转为驼峰命名法(camel-case)变量字符串

最近的工作有一个需求,需要利用linux shell脚本将_或-作连字符的变量名字符串转为驼峰命名法(camel-case)的字符串,其实吧,'_'做连字符的命名方式有专门的名字,蛇形命名法(snake-case...通过搜索引擎找到stackoverflow上找到了下面这个帖子4 与我的需求基本一样,是想把一个脊柱命名法(spinal-case)字符串转换为驼峰命名法(camel-case)的字符串。...sed)并不有效,不论是用zsh还是bash,如下图,我初步分析认为是我现在用的这个版本的sed不太对或某些开头没打开导致不能识别\U控制码: 根据上面的解决方案整理一下,用来将以'-','_'连接的变量名字符串统一转为驼峰命名法的变量名...,以下为三种解决方案,只是原方案的基础上增加了对'_'的支持,将'_'与‘-’一样视为连接符 GNU sed(macOS下可能无效) $ echo hello-world_tom | sed -r 's...${str[@]^}" } $ to_camel_case "hello-world_tom" HelloWorldTom 对于MacOS下zsh无效 参考资料 《匈牙利命名法为何被淘汰_有意思的三种变量命名法

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python中os.system()、subprocess.run()、call()、check_output()的用法

    (当 shell=True 时),也可以是一个列表(当 shell=False 时)stdin, stdout, stderr: 用于指定标准IO文件句柄,可以是: subprocess.PIPE...: 用作 stdout, stderr 参数的值时,可以从返回值对象中的 stdout 和 stderr 属性中读取输出内容 subprocess.STDOUT: 用作 stderr 参数的值时,...=True) # 当 shell 为 True 时,args 是一个字符串ret = subprocess.run("ls -l", shell=True, capture_output=True...=True, text=True, # 注意:这里必须 shell=True 才能捕获到 /bin/sh 的输出错误 # 当 shell=False 时,是要去捕获 "abcdefg"...=None, text=None)注意:参数中没有 stdout ,因为这个函数的返回值默认就是标准输出内容,也可以将设置 stderr=subprocess.STDOUT 将标准错误重定向到标准输出,

    84220

    Shell脚本学习3

    ,0表示成功,其他值表示失败 如果一定要让函数返回字符串,那么可以先定义一个变量,用来接收函数的计算结果,脚本在需要的时候访问这个变量来获得函数返回值。...当n>=10时,需要使用 特殊变量 说明 $# 传递给函数的参数个数。 $* 显示所有传递给函数的参数。 $@ 与$*相同,但是略有区别,请查看Shell特殊变量。 $? 函数的返回值。.../bin/bash function sum() { echo `expr 1+2+3` } num=$(sum) 重定向 输入输出重定向 Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备...):stdin的文件描述符为0,Unix程序默认从stdin读取数据。...默认情况下,command > file 将 stdout 重定向到 file,command 将stdin 重定向到 file。

    23820

    Linux Shell基础篇三 - 内置命令

    dirs 显示当前存储目录的列表 disown 从进程作业表中刪除指定的作业 echo 将指定字符串输出到 STDOUT enable 启用或禁用指定的内建shell命令 eval 将指定的参数拼接成一个命令...logout 退出登录 shell mapfile 从 STDIN 读取数据行,并将其加入索引数组 popd 从目录栈中删除记录 printf 使用格式化字符串显示文本 pushd 向目录栈添加一个目录...pwd 显示当前工作目录的路径名 read 从 STDIN 读取一行数据并将其赋给一个变量 readarray 从 STDIN 读取数据行并将其放入索引数组 readonly 从 STDIN 读取一行数据并将其赋给一个不可修改的变量...return 强制函数以某个值退出,这个值可以被调用脚本提取 set 设置并显示环境变量的值和 shell 属性 shift 将位置参数依次向下降一个位置 shopt 打开/关闭控制 shell 可选行为的变量值...语法 说明 echo 字符串 换行输出,默认 echo -n 字符串 不换行输出 echo -e 字符串 转义输出,会对转义符特殊处理,而不是当作一般文字输出 echo支持的转义符,-e参数里面会特殊处理的符号

    1.4K30

    linux shell指令大全整理

    /test.sh 变量类型 局部变量 在脚本中定义, 仅在当前shell中有效, 其他shell不能访问 环境变量 所有程序, 包括shell启动的程序, 都能访问环境变量, 在c中通过system()...函数执行的结果可以通过环境变量传递回来 shell变量 特殊变量, 比如传递给shell的参数 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YEeaQ6cj-1648294508220...双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 shell的文件包含 Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本 . filename #或 source filename...输出重定向是将输出定向到文件里 输入重定向是从文件读书数据作为输入给程序 >右边不需要空格 深入理解 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin...):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

    1.7K50

    极简shell制作

    我们曾经学过一个获取环境变量的接口 getenv:   因为上述三个部分皆可以在系统的环境变量中找到,所以我们可以使用 getenv 接口,将环境变量导出,拿到字符串作为我们自定义shell的命令行解释器...stdin 流中获取即可,表示从标准输入内获取信息。   ...在 Shell中,一行命令输入完成之后将直接生效。...路径显示问题   这里还有一个很明显的错误行为,我的命令行解释器的路径从开始就没有变过,其实是因为我们没有更新PWD环境变量,我们可以手动给当前进程更新环境变量,使用一个数组存储当前目录,再使用 putenv...,这些特殊情况我们依旧需要处理。   首先,比较特殊的就是 echo $?

    14310

    Linux私房菜:走进bash

    或export命令查找已定义的变量; 打印本shell的PID:echo $$ 打印上一个指令的回传值:echo $?...(正常回传为0) 取消变量设定:unset a; 双引号字符串中,仍可引用变量,而单引号字符串仅代表是字符串本身。...批注符号:注释 \ 跳脱符号:将特殊字符或通配符还原成一般字符 | 管线:连接两个管线命令 ; 分隔多个连续性命令 ~ 当前用户的家目录 $ 取用变量前导符 & 工作控制:将指令设为后台工作 / 目录间的分隔符...如$可保留相关变量引用) `xxx` 可执行的指令,亦可使用$() () 中间为子shell的起始和结束 {} 中间为命令区块的结合 cmd1 && cmd2 cmd2仅在cmd1正确执行的情况下执行...d后接某一字符用于删除 s后接被替换的字符和待取代的字符 col [-xb],将tab键转换成对等的空格键 join -[til2] file1 file2,处理两个文字的数据 paste [

    2.5K20

    【知识总结】Shell脚本编程入门

    3) shell变量 shell变量是由shell程序设置的特殊变量。...shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 Shell 字符串 - 单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出...双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 获取字符串长度 string="abcd" echo ${#string} #输出 4 提取子字符串 以下实例从字符串第 2 个字符开始截取...重定向深入讲解 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。...默认情况下,command > file 将 stdout 重定向到 file,command 将stdin 重定向到 file。

    4.4K20

    SHELL编程基本知识点一

    如果某操作的file参数是 /dev/stdin, /dev/stdout 或者 /dev/stderr 之一,将分别检查文件描述符 0,1 和 2。...& 后台运行命令.一个命令后边跟一个&,将表示在后台运行. && 与-逻辑操作. - 用于重定向 stdin 或 stdout....Ctl-D 从当前 shell 登出(和 exit 很像) "EOF"(文件结束符).这也能从 stdin 中终止输入....1、将命令分割成令牌(token),令牌之间以元字符分隔,Shell的元字符集合是固定不变的,包括空格、Tab键、换行字符、分号(;)、小括号、输入重定向符()、管道符(|)和&符号...8、将$((string))的表达式进行算术运算。 9、从变量、命令和算术替换的结果中取出命令行,再次进行单词切分,与步骤1不同的是,此时不再用元字符分隔单词,而是使用$IFS分隔单词。

    93320

    shell极简教程(二)

    另外,还有几个特殊变量用来处理参数,前面已经提到: 特殊变量 说明 $# 传递给函数的参数个数。 $* 显示所有传递给函数的参数。 $@ 与$*相同,但是略有区别,请查看Shell特殊变量。...十五,输入输出重定向 Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。...重定向深入讲解   一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。...Here Document 是 Shell 中的一种特殊的重定向方式,它的基本的形式如下: command << delimiter document delimiter   它的作用是将两个 delimiter.../null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。

    5.3K70

    shell脚本应用的基本概念

    例如: 将一个存有密码的文本通过重定向的方式,来给用户设置密码:passwd --stdin tom < pass.txt ③:错误重定向: 2>:指的是将执行命令过程中产生的错误信息保存到指定的文件,...变量名以字母或下划线开头,名称中不能包含特殊字符,如:+、-、*、/、、、?、%、&、#等。 查看和引用变量的值: 在变量名前加“$”可以引用一个变量的值。...,如:echo ${product}2.5 变量赋值的特殊操作: 双引号(“ ”):主要起界定字符串的作用,特别是当要赋值的内容包含空格时,必须以双引号括起来,在双引号范围内,使用“$”符号可以引用其他变量的值...单引号( ' ' ):当要赋值的内容中包含$、\ 等具有特殊含义的字符时,可以使用单引号括起来,但赋值的内容中若包含 ' '单引号时,可以使用 “\”符号进行转义,以免冲突。...: 变量名=expr $x + $y ②特殊的shell变量: 环境变量: 使用命令“env”可以查看到当前工作环境下的环境变量。

    1.4K40

    Linux Shell编程入门

    2.2 只读变量与删除变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。...3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行。...一般Shell变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 特殊变量列表 变量 含义$0当前脚本的文件名$n传递给脚本或函数的参数。...当n>=10时,需要使用 11、输入输出重定向 Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。...一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

    3.1K10

    Shell 编程入门 (转载非原创)

    echo $content content="hello shell!" echo $content 3、 只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。...另外,还有几个特殊字符用来处理参数: $# 传递到脚本或函数的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $!.../test.file 3、 标准输入输出 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据...默认情况下,command > file 将 stdout 重定向到 file,command 将stdin 重定向到 file。...和 stdout 都重定向,可以这样写: $ command file2 command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2。

    1.7K21

    Python 执行系统命令

    好处在于:运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。 subprocess.Popen() 使用Popen可以创建进程,并与进程进行复杂的交互。...该方法有以下参数 参数 作用 args 一般是一个字符串,是要执行的shell命令内容 bufsize 设置缓冲,负数表示系统默认缓冲,0表示无缓冲,正数表示自定义缓冲行数 stdin 程序的标准输入句柄...shell 为True时,表示将通过shell来执行 cwd 用来设置当前子进程的目录 env 用于指定子进程的环境变量。...7、Popen.stdin:如果在创建Popen对象是,参数stdin被设置为PIPE,Popen.stdin将返回一个文件对象用于策子进程发送指令。否则返回None。...如果 args是一个字符串,则该字符串指定要通过shell执行的命令。

    1.7K10

    Perl正则表达式超详细教程

    ,将STDIN>赋值给变量时,将只能读取一行(遇到换行符就结束读取)。...例如字符串”aa1122ccbb”,用正则表达式a.*c去匹配这个字符串,其中的.*将直接从第二个字母a开始匹配到最结尾的b,因为从第二个字母a开始到最后一个字母b都符合.*的匹配模式。...\E用来强制包围一段字符,使得里面的正则符号都当做普通字符,不会有特殊意义,它是一种非常强的引用。但注意,它无法强制变量的替换。...\E/; # 元字符"."被当做普通的字符,所以无法匹配 qr//创建正则对象 因为可以在正则模式中使用变量替换,所以我们可以将正则中的一部分表达式事先保存在变量中。...*d"; $str =~ /$pattern/; print "$&\n"; 但是,这样缺陷很大,在保存正则表达式的变量中存放的特殊字符要防止有特殊意义。

    6.2K30

    【愚公系列】2021年12月 Python教学课程 26-系统编程

    前面的方式是使用windwos 的双斜杠作为路径分隔符,后者是使用原生字符串的形式,以 r 开始的字符串都被认为是原始字符串,表示字符串里所有的特殊符号都以本色出演,不进行转义,此时可以使用普通 windows...必须是一个字符串,字符串参数列表 stdin、stdout 和 stderr:子进程的标准输入、输出和错误。...shell:如果该参数为 True,将通过操作系统的 shell 执行指定的命令。 run()方法的返回值,表示一个进程结束了。...subprocess.DEVNULL 一个特殊值,用于传递给 stdout、stdin 和 stderr 参数。表示使用 os.devnull 作为参数 值。...=subprocess.PIPE, shell=True) s.stdin.write(b"import os\n") s.stdin.write(b"print(os.environ)") s.stdin.close

    88620
    领券