Bây giờ,
file_object = open['filename']
lines = file_object.readlines[]
2chỉ là một tệp đối tượng khác, sẽ được Python mở trước khi chương trình của bạn bắt đầu. Những gì bạn làm với đối tượng tệp đó là tùy thuộc vào bạn, nhưng nó không thực sự khác biệt với bất kỳ đối tượng tệp nào khác, chỉ là bạn không cần một đối tượng tệp file_object = open['filename']
lines = file_object.readlines[]
3for something in sys.stdin:
some stuff here
sẽ lặp lại thông tin qua đầu vào tiêu chuẩn cho đến khi đạt đến phần cuối của tệp. And this thing also so
lines = sys.stdin.readlines[]
Câu hỏi đầu tiên của bạn thực sự là về các cách khác nhau để sử dụng một tệp đối tượng
Thứ hai, nó được đọc từ đâu? . Trên Windows, nó là xử lý tệp 0 [không]. Bộ mô tả tệp / tay cầm 0 được kết nối với bảng điều khiển hoặc tty theo mặc định, do đó, trên thực tế, nó đang đọc từ bàn phím. Tuy nhiên, nó có thể được chuyển hướng thông thường bằng shell [như bash hoặc cmd. exe] bằng cách sử dụng cú pháp như sau
myprog.py < input_file.txt
Điều đó làm thay đổi bộ mô tả tệp bằng cách không đọc tệp thay vì bàn phím. Trên UNIX hoặc Linux, điều này sử dụng lệnh gọi cơ bản
file_object = open['filename']
lines = file_object.readlines[]
4. Đọc tài liệu trình bao của bạn để biết thêm thông tin về chuyển hướng [hoặc có thể file_object = open['filename']
lines = file_object.readlines[]
5 nếu bạn dũng cảm]25 hữu ích 1 bình luận chia sẻ
Tôi muốn kiểm tra một số mã [python 3] sử dụng trực tiếp các hàm
file_object = open['filename']
lines = file_object.readlines[]
6và file_object = open['filename']
lines = file_object.readlines[]
7. Theo tôi hiểu, cách dễ nhất để thực hiện điều này là thêm phụ thuộc. đã sửa đổi mã để nó nhận các luồng bắt đầu vào và bắt đầu làm đối số, sử dụng file_object = open['filename']
lines = file_object.readlines[]
2và file_object = open['filename']
lines = file_object.readlines[]
9theo mặc định và chuyển vào các đối tượng giả trong quá trình thử nghiệm. Rõ ràng là phải làm gì với file_object = open['filename']
lines = file_object.readlines[]
6các cuộc gọifile_object = open['filename']
lines = file_object.readlines[]
2Tuy nhiên,
file_object = open['filename']
lines = file_object.readlines[]
7không có đối số cho các luồng đầu vào và đầu ra. Đoạn mã sau có tái tạo chính xác hành động vi của nó không?file_object = open['filename']
lines = file_object.readlines[]
4Tôi đã xem xét việc phát triển khai
file_object = open['filename']
lines = file_object.readlines[]
7, và nó thực hiện khá nhiều phép thuật, gọi là for something in sys.stdin:
some stuff here
3và kiểm tra for something in sys.stdin:
some stuff here
4và for something in sys.stdin:
some stuff here
5hơn là gọi bất kỳ for something in sys.stdin:
some stuff here
6 phương pháp nào - tôi không biết bắt đầu từ đâu với công việc lệch lạc của họ- con trăn
- tiêm phụ thuộc
- trăn-3. x
- chế giễu
- tiêu chuẩn
3 hữu ích 4 bình luận 4. 0k xem chia sẻ
câu trả lời
6
Nếu bạn gán một đối tượng giống tệp cho hàm
file_object = open['filename']
lines = file_object.readlines[]
2 của Python, thì file_object = open['filename']
lines = file_object.readlines[]
7hàm của Python sẽ sử dụng nó thay cho đầu vào chuẩn. Nhưng hãy nhớ gán lại file_object = open['filename']
lines = file_object.readlines[]
2 cho tiêu chuẩn sau khi bạn hoàn tất. Thủ thuật tương tự áp dụng cho file_object = open['filename']
lines = file_object.readlines[]
9. Bạn có thể làm điều gì đó như saufor something in sys.stdin:
some stuff here
4Hai dòng này
file_object = open['filename']
lines = file_object.readlines[]
0sẽ sử dụng các tệp được định nghĩa duy nhất [
lines = sys.stdin.readlines[]
9và myprog.py < input_file.txt
0] thay vì đầu vào tiêu chuẩn và đầu ra tiêu chuẩnCẬP NHẬT. Nếu bạn không muốn xử lý các tệp vật lý, hãy xem
myprog.py < input_file.txt
1mô-đun. Nó cung cấp lớp myprog.py < input_file.txt
2 cho phép bạn thực hiện các dòng văn bản hoạt động trong bộ nhớ