O último artigo resume o módulo os. Este módulo e o módulo sys parecem ser semelhantes no nome, mas na verdade eles têm pouca relação. O módulo os é o principal responsável por interagir com o sistema operacional, e esses dois módulos são freqüentemente usados combinação, que pode atingir uma grande demanda. O módulo sys é principalmente responsável por interagir com o interpretador Python e fornece uma série de funções e variáveis para controlar o ambiente de execução Python. Este artigo resume o uso de módulos sys comumente usados.
1 Retorna o nome da plataforma do sistema operacional
sys.platform
'win32'
2 Obtenha as informações da versão do interpretador Python
sys.version
'3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]'
3 Retorne ao formato de codificação de caracteres padrão atual
sys.getdefaultencoding()
'utf-8'
4 sys.argv Ao executar este script, ele é usado para passar parâmetros para o interpretador. É uma lista, o primeiro parâmetro é o caminho do próprio script por padrão, e o conteúdo após o arquivo py em execução é passado para o programa como parâmetros subsequentes.
Leia o texto abaixo; crie sys.py da seguinte maneira
import sys
sys.hexversion
if len(sys.argv) == 1:
print (sys.argv[0])
elif sys.argv[1]=='version' :
print(sys.version)
elif sys.argv[1]=='platform':
print(sys.platform)
else : print('Vague instructions')
Chame sys.py em cmd
C:\Users\yuanwanli> python C:\Users\sys.py
C:\Users\sys.py
C:\Users\yuanwanli>python C:\Users\sys.py platform
win32
C:\Users\yuanwanli>python C:\Users\sys.py version
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
C:\Users\yuanwanli>python C:\Users\sys.py x
Vague instructions
5 sys.stdin # (entrada padrão)
A função de sys.stdin.readline () é equivalente a input ( ) ,, o formato de entrada padrão é uma string e a diferença está em dois pontos:
- Você pode preencher diretamente o texto do prompt nos colchetes input (), como input ('Insira um número:'), mas sys.stdin.readline () não pode;
- sys.stdin.readline () obterá o último caractere de nova linha '\ n' de cada linha de dados, enquanto input () ignora;
a = input('please input int:')
b = sys.stdin.readline()
print(list(a), list(b))
# 都输入 1
['1'] ['1', '\n']
sys.stdin.readline (). strip ('\ n') pode excluir o caractere de nova linha '\ n' para obter o mesmo efeito que input ()
a = input('please input int:')
b = sys.stdin.readline().strip('\n')
print(list(a), list(b))
# 都输入 1
['1'] ['1']
A entrada sys.stdin.readline () está no formato de string, int e float são necessários, que podem ser convertidos usando a função de mapa
a = sys.stdin.readline().strip('\n')
a = list(map(int, a.split()))
print(a)
# 输入1 2
[1, 2]
6 sys.stdout # (saída padrão)
Quando chamamos print (x) para imprimir um objeto em Python, na verdade chamamos sys.stdout.write (x + '\ n')
print e imprimimos o que você precisa para o console, e então acrescente um caractere de nova linha, da seguinte maneira:
sys.stdout.write('hello\n')
print('hello')
hello
hello
Este é o uso básico do módulo sys. Para um método mais abrangente, consulte o documento oficial sys https://docs.python.org/zh-cn/3/library/sys.html?highlight=sys#module -sys