Điểm:0

Làm cách nào để tạo tệp mới dựa trên mã python qua thiết bị đầu cuối?

lá cờ ae

Tôi là người dùng mới của Linux. Tôi đã viết một chương trình Python với một vòng lặp chạy 10 lần và mỗi lần in một dòng. Tôi đã lưu nó dưới dạng print.py Bây giờ tôi muốn sử dụng thiết bị đầu cuối để đảm bảo rằng bản in được lưu trong một tệp mới.

Mã tôi sử dụng là:

bộ đếm = 1
trong khi bộ đếm <= 10:
print("Đây là dòng", bộ đếm)
bộ đếm = bộ đếm +1

Tuy nhiên, tôi không biết làm cách nào để chuyển từ chương trình mà tôi đã lưu dưới dạng print.py qua thiết bị đầu cuối sang một tệp "kết quả" mới.

lá cờ ru
Chà, trước tiên, mã của bạn không hợp lệ khi sao chép/dán vào bài đăng của bạn. Bạn sẽ ngay lập tức gặp lỗi thụt đầu dòng vì các mục trong vòng lặp while cần được thụt vào. Thứ hai, bạn đã cân nhắc việc chỉ cần mở tệp bằng Python và ghi kết quả vào tệp, ghi đè bất cứ thứ gì có trong đó trước chưa?
Điểm:2
lá cờ pr

Bạn có thể chuyển hướng đầu ra của chương trình bằng cách sử dụng toán tử >.Đầu ra sau đó được ghi vào tệp đã cho thay vì thiết bị đầu cuối:

python3 print.py > kết quả

Lưu ý rằng văn bản không được thêm vào nhưng thay thế nội dung hiện tại của tệp. Nếu bạn muốn nối đầu ra vào tệp, hãy sử dụng toán tử >>.

Ngoài ra còn có một cách để lấy đầu ra trên thiết bị đầu cuối trong tệp, vì vậy bạn có thể thấy điều gì đang xảy ra. Chỉ cần đưa đầu ra vào lệnh phát bóng và nó sẽ in nó vào thiết bị đầu cuối của bạn và vào tệp. Bạn có thể tưởng tượng lệnh này giống như một đường ống hình chữ T chuyển hướng đầu vào của nó thành hai đầu ra.

in python3.py | kết quả phát bóng

Một lần nữa, điều này sẽ ghi đè lên nội dung hiện tại của tệp của bạn.

Điểm:0
lá cờ cn

Sao chép và dán đoạn mã sau vào tệp test.py

#!/usr/bin/env python3
#
bộ đếm = 1
trong khi bộ đếm <= 10:
   print("Đây là dòng", bộ đếm)
   bộ đếm = bộ đếm + 1

Bây giờ hãy chạy các lệnh

chmod +x test.py
./test.py > output.txt

Đầu ra phải là

Đây là dòng 1
Đây là dòng 2
Đây là dòng 3
Đây là dòng 4
Đây là dòng 5
Đây là dòng 6
Đây là dòng 7
Đây là dòng 8
Đây là dòng 9
Đây là dòng 10
lá cờ ru
Điều này xuất ra dòng lệnh, nhưng tôi nghĩ họ muốn nó trong một tệp.
Thomas Aichinger avatar
lá cờ cn
Vâng, bạn nói đúng, tôi quên chuyển hướng nó. Chỉ cần sửa nó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.