Hướng dẫn can python interact with terminal? - python có thể tương tác với thiết bị đầu cuối không?

Tôi đang làm việc trên một kịch bản nhỏ. Kịch bản nên mở 3 thiết bị đầu cuối và tương tác với các thiết bị đầu cuối này một cách độc lập.

Tôi khá hiểu rằng quá trình phụ là cách tốt nhất để làm điều đó. Những gì tôi đã làm cho đến nay:

# /usr/bin/env python
import subprocess

term1 = subprocess.Popen(["open", "-a", "Terminal"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
term1.communicate(input="pwd")

Vấn đề của tôi là tôi không thể tương tác với một thiết bị đầu cuối mới. Phần này

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
3 không hoạt động. Tôi không thể gửi lệnh đến một thiết bị đầu cuối mới. Tôi cũng đã thử
import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
4 nhưng không có gì xảy ra

Bạn có ý tưởng làm thế nào tôi có thể làm điều đó không?

P.S. Tôi đang sử dụng Mac OS.

Hỏi ngày 12 tháng 9 năm 2014 lúc 19:03Sep 12, 2014 at 19:03

Hướng dẫn can python interact with terminal? - python có thể tương tác với thiết bị đầu cuối không?

4

Bạn có thể chạy cả hai lệnh đồng thời mà không cần mở các thiết bị đầu cuối.

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])

Nếu bạn chạy mã đó, bạn sẽ thấy rằng thư mục được liệt kê hai lần, xen kẽ với nhau. Bạn có thể mở rộng điều này cho các nhu cầu cụ thể của bạn:

tcprelay1 = subprocess.Popen(["tcprelay", "telnet"])
tcprelay2 = subprocess.Popen(["tcprelay", "--portoffset [arg1] [arg2]")

Đã trả lời ngày 12 tháng 9 năm 2014 lúc 20:47Sep 12, 2014 at 20:47

Anderspitmananderspitmananderspitman

8.2109 Huy hiệu vàng40 Huy hiệu bạc56 Huy hiệu Đồng9 gold badges40 silver badges56 bronze badges

2

Hướng dẫn can python interact with terminal? - python có thể tương tác với thiết bị đầu cuối không?

Khi bạn bắt đầu học một ngôn ngữ lập trình mới, chương trình đầu tiên của bạn có thể là một chương trình in "Xin chào thế giới!".

Giả sử bạn muốn làm điều này trong Python. Có hai cách thực hiện nó: sử dụng vỏ python hoặc viết nó như một kịch bản và chạy nó trong thiết bị đầu cuối.

Vỏ là gì?

Một hệ điều hành được tạo thành từ một loạt các chương trình. Họ thực hiện các tác vụ như xử lý tệp, quản lý bộ nhớ và quản lý tài nguyên và chúng giúp các ứng dụng của bạn chạy trơn tru.

Tất cả các công việc chúng tôi làm trên máy tính, như phân tích dữ liệu trong Excel hoặc chơi trò chơi, được tạo điều kiện bởi hệ điều hành.

Các chương trình hệ điều hành có hai loại, được gọi là chương trình Shell và Kernel.shell and kernel programs.

Các chương trình kernel là những người thực hiện các tác vụ thực tế, như tạo tệp hoặc gửi ngắt. Shell là một chương trình khác, có công việc là thực hiện đầu vào và quyết định và thực hiện chương trình kernel cần thiết để thực hiện công việc và hiển thị đầu ra.

Shell còn được gọi là bộ xử lý lệnh.command processor.

Thiết bị đầu cuối là gì?

Thiết bị đầu cuối là chương trình tương tác với shell và cho phép chúng tôi giao tiếp với nó thông qua các lệnh dựa trên văn bản. Đây là lý do tại sao nó cũng được gọi là dòng lệnh.

Để truy cập thiết bị đầu cuối trên Windows, nhấn Logo Windows + R, Nhập CMD và nhấn Enter.

Để truy cập thiết bị đầu cuối trên Ubuntu, nhấn Ctrl + Alt + T.

Vỏ python là gì?

Python là một ngôn ngữ được giải thích. Điều này có nghĩa là trình thông dịch Python đọc một dòng mã, thực thi dòng đó, sau đó lặp lại quá trình này nếu không có lỗi.

Shell Python cung cấp cho bạn giao diện dòng lệnh mà bạn có thể sử dụng để chỉ định các lệnh trực tiếp đến trình thông dịch Python theo cách tương tác.

Bạn có thể nhận được rất nhiều thông tin chi tiết về vỏ Python trong các tài liệu chính thức.

Để khởi động vỏ Python, chỉ cần nhập

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
5 và nhấn enter trong thiết bị đầu cuối:

C:\Users\Suchandra Datta>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>print("hello world!")


Vỏ tương tác còn được gọi là repress là viết tắt của đọc, đánh giá, in, vòng lặp. Nó sẽ đọc từng lệnh, đánh giá và thực thi nó, in đầu ra cho lệnh đó nếu có, và tiếp tục quá trình này liên tục cho đến khi bạn thoát khỏi vỏ.

Có nhiều cách khác nhau để thoát khỏi vỏ:

  • Bạn có thể nhấn Ctrl+Z trên Windows hoặc Ctrl+D trên các hệ thống UNIX để thoát khỏi
  • Sử dụng lệnh exit ()
  • Sử dụng lệnh bỏ ()
C:\Users\Suchandra Datta>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("HELLO WORLD")
HELLO WORLD
>>> quit()

C:\Users\Suchandra Datta>
C:\Users\Suchandra Datta>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\Users\Suchandra Datta>
C:\Users\Suchandra Datta>python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z


C:\Users\Suchandra Datta>

Bạn có thể làm gì trong vỏ Python?

Bạn có thể làm khá nhiều thứ mà ngôn ngữ Python cho phép, từ việc sử dụng các biến, vòng lặp và điều kiện đến xác định các chức năng và hơn thế nữa.

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
6 là dấu nhắc shell nơi bạn nhập các lệnh của mình. Nếu bạn có các lệnh trải dài trên một số dòng - ví dụ: khi bạn xác định các vòng lặp & nbsp; - shell in các ký tự
import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
7 biểu thị rằng một dòng tiếp tục.

Hãy xem một ví dụ:

>>>
>>> watch_list = ["stranger_things_s1", "stranger_things_s2", "stranger_things_s3","stranger_things_s4"]
>>>
>>>

Ở đây chúng tôi đã xác định một danh sách với một số tên chương trình truyền hình thông qua vỏ Python.

Tiếp theo, hãy xác định chức năng chấp nhận danh sách các chương trình và trả về ngẫu nhiên một chương trình:

>>> def weekend_party(show_list):
...     r = random.randint(0, len(show_list)-1)
...     return show_list[r]
...

Lưu ý các dòng tiếp tục (

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
7) của vỏ Python ở đây.

Cuối cùng để gọi hàm từ shell, bạn chỉ cần gọi hàm theo cách bạn sẽ làm trong một tập lệnh:

>>> weekend_party(watch_list)
'stranger_things_s1'
>>>
>>>
>>> weekend_party(watch_list)
'stranger_things_s3'
>>>
>>>
>>> weekend_party(watch_list)
'stranger_things_s2'
>>>
>>>
>>> weekend_party(watch_list)
'stranger_things_s2'
>>>
>>>
>>> weekend_party(watch_list)
'stranger_things_s3'
>>>

Bạn có thể kiểm tra các mô -đun Python từ vỏ, như được hiển thị bên dưới:

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
0

Bạn có thể thấy những phương thức và thuộc tính mà một mô -đun cung cấp bằng cách sử dụng phương thức

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
9:

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
1

Ở đây bạn có thể thấy rằng Numpy có tổng cộng 606 phương thức và thuộc tính.

Cách chạy kịch bản Python

Shell Python rất hữu ích để thực hiện các chương trình đơn giản hoặc gỡ lỗi các phần của các chương trình phức tạp.

Nhưng các chương trình Python thực sự lớn với nhiều phức tạp được viết trong các tệp có phần mở rộng .py, thường được gọi là tập lệnh Python. Sau đó, bạn thực hiện chúng từ thiết bị đầu cuối bằng lệnh

tcprelay1 = subprocess.Popen(["tcprelay", "telnet"])
tcprelay2 = subprocess.Popen(["tcprelay", "--portoffset [arg1] [arg2]")
0.

Cú pháp thông thường là:

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])
2

Tất cả các lệnh chúng tôi đã thực hiện trước đây thông qua shell, chúng tôi cũng có thể viết nó trong một tập lệnh và chạy theo cách này.

Sự kết luận

Trong bài viết này, chúng tôi đã tìm hiểu về vỏ, thiết bị đầu cuối, cách sử dụng vỏ python. Chúng tôi cũng đã thấy cách chạy các kịch bản Python từ dòng lệnh.

Tôi hy vọng bài viết này giúp bạn hiểu vỏ trăn là gì và làm thế nào bạn có thể sử dụng nó trong cuộc sống hàng ngày của bạn. Học hỏi!



Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Python có hoạt động trên thiết bị đầu cuối không?

Một cách được sử dụng rộng rãi để chạy mã Python là thông qua một phiên tương tác. Để bắt đầu một phiên tương tác Python, chỉ cần mở một dòng lệnh hoặc thiết bị đầu cuối và sau đó nhập Python, hoặc Python3 tùy thuộc vào cài đặt Python của bạn, sau đó nhấn Enter.To start a Python interactive session, just open a command-line or terminal and then type in python , or python3 depending on your Python installation, and then hit Enter .

Làm cách nào để kết nối Python với thiết bị đầu cuối?

Có nhiều hướng khác nhau để làm điều đó...
Bắt đầu Menu> Python (dòng lệnh) hoặc Menu bắt đầu> Python> Python (dòng lệnh) Điều này sẽ mở một cửa sổ đầu cuối, với Python đang chạy.....
Mở cửa sổ lệnh (Menu khởi động> Nhập "Lệnh" và nhấp vào biểu tượng đầu cuối màu đen) Loại C: \ Python34 \ Python và nhấn Enter ..

Làm thế nào để bạn sử dụng các lệnh đầu cuối trong Python?

Trước tiên chúng ta hãy tạo một tệp python mới có tên shell_cmd.py hoặc bất kỳ tên nào bạn chọn.Hàm system () lấy một chuỗi duy nhất làm đối số.Nhập bất cứ thứ gì bạn muốn xem dưới dạng đầu ra hoặc thực hiện một hành động.create a new Python file called shell_cmd.py or any name of your choice. Second, in the Python file, import the os module, which contains the system function that executes shell commands. system() function takes an only string as an argument. Type whatever you want to see as an output or perform an action.

Làm cách nào để mở thiết bị đầu cuối và chạy trong Python?

Để bắt đầu shell python, chỉ cần nhập python và nhấn enter vào thiết bị đầu cuối: c: \ user \ suchandra datta> python python 3.8 ...
Bạn có thể nhấn Ctrl+Z trên Windows hoặc Ctrl+D trên các hệ thống UNIX để thoát ..
sử dụng lệnh exit () ..
sử dụng lệnh bỏ () ..