Python | sys
2022-06-24 本文已影响0人
shwzhao
import sys
1. 命令行传参
-
sys.argv
sys.argv[0]
: 脚本名
sys.argv[1]
: 第1
个参数
...
$ cat test2.py
import sys
USAGE = "USAGE: python3 {0} input output".format(sys.argv[0])
print("\n" + USAGE)
input = sys.argv[1]
print("\nThe input file is " + input)
$ python3 test2.py INPUTFILE
USAGE: python3 test2.py input output
The input file is INPUTFILE
2. 程序控制
-
sys.exit(n)
: 退出程序
3. 标准输入、输出和错误
-
sys.stdin
: 标准输入,可以使Python程序读取来自管道的信息
sys.stdin.readline()
-
sys.stout
: 标准输出
sys.stout.write()
-
sys.stderr
: 标准错误
可以利用1>
和2>
将不同的输出定位到不同的文件
$ cat test.py
import sys
for i in sys.stdin:
if i.startswith(">"):
print(i.rstrip(), file=sys.stdout)
else:
print(i.rstrip(), file=sys.stderr)
$ cat a.fa
>gene1
ATCAGAGC
>gene2
CATCGGCAACC
$ cat a.fa | python3 test.py 1> geneid.txt 2> sequence.txt
$ cat geneid.txt
>gene1
>gene2
$ cat sequence.txt
ATCAGAGC
CATCGGCAACC
4. 查看信息
-
sys.path
: 查找模块所在目录 -
sys.platform
: 返回操作系统名称 -
sys.version
: 查看Python的版本信息 -
sys.modules
: 字典形式返回已经导入的模块
>>> sys.platform
'linux'
>>> sys.version
'3.8.5 (default, Sep 4 2020, 07:30:14) \n[GCC 7.3.0]'