Python 3는 Python 2와 비교하여 많은 변화가 있었습니다. Python 3은 Linux에서도 널리 사용됩니다. 여기서는 주로 Linux를 사용하는 Python 3 스크립트 실행 명령을 연습합니다.
먼저 실행만 필요하거나 실행 상태만 가져오면 되는 경우 os.system을 사용하여 위 코드를
#!/usr/bin/env python3 print ('hello,world') import os val2 = os.system('cd trb && cd trb') val3 = os.system('ls') print('val2 is ',val2)
호출할 수 있습니다. val2의 코드가 성공적으로 실행되면, 즉 두 가지 수준의 trb 폴더가 있고 val2의 값은 0이고 그렇지 않으면 256입니다.
두 줄 호출에는 상속이 없습니다. 연속적으로 실행하려면 &&를 추가하세요. (쉘 구문)을 하나의 문장으로
인쇄하기 전에 화면에 실행 결과
hello,worldsh: line 0: cd: trb: 没有那个文件或目录 Abcd.py automesh.sh Cal_Ori fold.txt Linux_py_temp.py meshedjob.rec new_geom onc143314 trb val2 is 256
os.popen(cmd) 메소드도 표시되는데, 이는 작업의 출력만 가져올 수 있지만 인쇄하지 않으면 거기에 화면에는 아무것도 표시되지 않습니다.
예를 들어
val4 = os.popen('cd trb && cd trb') val5 = os.popen('ls')print('开始PRINT')print(val4.read())print(val5.read())
는 다음과 같이 표시됩니다.
hello,world 开始PRINT/bin/sh: line 0: cd: trb: 没有那个文件或目录 Abcd.py automesh.shCal_Ori fold.txt Linux_py_temp.py meshedjob.rec new_geom onc143314 trb
여기서의 출력은 파일과 유사한 객체이며, read 또는 readlines를 호출하여 탐색할 수도 있습니다.
###########
궁극의 무기, 서브 프로세스
py3.5 서브 프로세스 이후 사용을 권장하는 모듈
온라인 튜토리얼의 명령은 버전 2의 기능으로 삭제되었습니다. 그러나 하위 프로세스를 통해 호출할 수 있습니다.
다음 명령을 사용할 수 있습니다:
subprocess.
getstatusoutput
subprocess.
getstatusoutput
(cmd )
在shell中返回执行cmd。<span class="pre">(status, <span class="pre">output) 返回2个元素的元组</span></span>
3.4之后添加win支持
subprocess.
getoutput
( cmd ) 쉘에서 실행
을 반환합니다. <span class="pre">(status, <span class="pre">output) 2개 요소의 튜플을 반환합니다</span></span>
3.4
하위 프로세스
이후에 win 지원을 추가합니다. getoutput
cmd
)
legacycmd = subprocess.getstatusoutput('ls -l')print('subprocess.getstatusoutput 输出',legacycmd) legacycmd2 = subprocess.getoutput('ls -l')print('subprocess.getoutput 输出',legacycmd2)위는 코드입니다.
출력: subprocess.getstatusoutput 输出 (0, '总用量 48\n-rwxr--r-- 1 para036 bjpara 516 4月 16 2018 Abcd.py\n-rwxr--r-- 1 para036 bjpara 1619 4月 16 16:58 automesh_onpsn_fortest.sh\n-rwxr--r-- 1 para036 bjpara 1616 4月 15 14:31 automesh.sh\ndrwxr-xr-x 5 para036 bjpara 4096 4月 15 14:31 Cal_Ori\n-rw-r --r-- 1 para036 bjpara 32 4月 16 16:56 fold.txt\n-rwxr--r-- 1 para036 bjpara 1530 4月 15 14:45 Linux_py_temp.py\n-rw-r--r-- 1 para036 bjpara 27 4月 15 14:43 meshedjob.rec\ndrwxr-xr-x 2 para036 bjpara 4096 4月 15 14:31 new_geom\ndrwxr-xr-x 5 para036 bjpara 4096 4月 15 14:51 onc143314\ndrwx r-xr-x 5 para036 bjpara 4096 4月 16 17:05 onc16165650\ndrwxr-xr-x 5 para036 bjpara 4096 4月 16 16:46 onc163840\ndrwxr-xr-x 2 para036 bjpara 4096 4 月 15 14:32 trb')
subprocess.getoutput 输出 总用量 48
-rwxr--r-- 1 para036 bjpara 516 4月 16 2018 Abcd.py
-rwxr--r-- 1 para036 bjpara 1619 4月 16 16:58 automesh_onpsn_fortest.sh
-rwxr--r-- 1 para036 bjpara 1616 4月 15 14:31 automesh.sh
drwxr-xr-x 5 para036 bjpara 4096 4月 15 14:31 Cal_Ori
-rw-r--r-- 1 para036 bjpara 32 4月 16 16:56 fold.txt
-rwxr--r-- 1 para036 bjpara 1530 4月 15 14:45 Linux_py_temp.py
-rw-r--r-- 1 para036 bjpara 27 4月 15 14:43 meshedjob.rec
drwxr-xr-x 2 para036 bjpara 4096 4月 15 14:31 new_geom
drwxr-xr-x 5 para036 bjpara 4096 4月 15 14:51 onc143314
drwxr-xr-x 5 para036 bjpara 4096 4月 16 17:05 onc16165650
drwxr-xr-x 5 para036 bjpara 4096 4月 16 16:46 onc163840
drwxr-xr-x 2 para036 bjpara 4096 4月 15 14:32 trb
출력은 끈. 인쇄되지 않으면 표시되지 않습니다.
run은 기본적으로 출력을 반환하지 않고 명령 및 실행 상태만
recomd = subprocess.run(['ls','-l'])#等待命令执行完成后会在屏幕输出执行结果,然后返回一个包含执行结果的CompletedProcess类的实例。print('输出recmd\n',recomd)print(recomd.returncode)출력은 다음과 같습니다. 🎜🎜🎜 출력을 반환하려면 매개변수를 추가하고 subprocess.PIPE를 stdout 및 stderr에 전달하고, 그런 다음 반환된 CompletedProcess 클래스 인스턴스의 stdout 및 stderr 속성을 통해 해당 콘텐츠를 캡처할 수 있습니다. 🎜🎜🎜🎜universal_newlines: 🎜🎜 이 매개변수는 입력 및 출력 데이터 형식에 영향을 줍니다. 예를 들어 해당 값의 기본값은 False이고 stdout은 stdout 및 stderr의 출력은 바이트 시퀀스입니다. 이 매개변수의 값이 True로 설정되면 stdout 및 stderr의 출력은 문자열입니다. 🎜🎜전체 코드는 다음과 같습니다. 🎜
#!/usr/bin/env python3 print ('hello,world') import os # val2 = os.system('cd trb && cd trb') # val3 = os.system('ls') # print('val2 is ',val2) # val4 = os.popen('cd trb && cd trb') # val5 = os.popen('ls') # print('开始PRINT') # print(val4.read()) # print(val5.read()) import subprocess recomd = subprocess.run(['ls','-l']) #等待命令执行完成后会在屏幕输出执行结果,然后返回一个包含执行结果的CompletedProcess类的实例。 print('输出recmd\n',recomd) print(recomd.returncode) print('传递参数') recomdouterr = subprocess.run( ['ls','-l'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True) print('输出outerr',recomdouterr.stdout,recomdouterr.stderr) print('传递参数2') recomdouterr = subprocess.run( ['ls','-l'],stdout=subprocess.PIPE,universal_newlines=True) print('输出outerr',recomdouterr.stdout) print(len( recomdouterr.stdout.strip().split('\n') )) print(recomdouterr.stdout.strip().split('\n')[-1]) # legacycmd = subprocess.getstatusoutput('ls -l') # # print('subprocess.getstatusoutput 输出',legacycmd) # # legacycmd2 = subprocess.getoutput('ls -l') # # print('subprocess.getoutput 输出',legacycmd2)🎜 참고 자료: python3.5 공식 문서: 🎜https://docs.python.org/3.5/library/subprocess.html🎜 🎜🎜Python이 점점 더 광범위하게 사용되고 있으며, Linux는 서버로서도 큰 잠재력을 가지고 있습니다. Python을 사용하여 Linux 스크립트 작업을 구현하면 서버 측 작업이 단순화되고 제어 가능성이 향상됩니다. 🎜
위 내용은 Python3을 사용하여 Linux 스크립팅 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
