Trong C++ chúng ta có thể nhập nhiều dòng bằng cách đưa ra lựa chọn riêng của chúng ta về ký tự delimiting trong hàm getline() .. tuy nhiên tôi không thể làm tương tự trong Python !! nó chỉ có các phương thức raw_input() và sys.stdin.readline() đọc cho đến khi tôi nhấn enter. Có cách nào để tùy chỉnh này để tôi có thể xác định delimiter riêng của tôi?Python tương đương với C++ getline()
Trả lời
Bạn vẫn muốn nhấn enter để tạo nhiều dòng? Làm thế nào để bạn kết thúc đầu vào? Hoặc bạn có muốn chỉ định nhiều dòng trên một dòng không?
Nếu trước đây, cố gắng lặp raw_input() cho đến khi một cái gì đó được viết mà nói với nó để ngăn chặn:
lines = []
while True:
user_input = raw_input()
if user_input.strip() == "": # empty line signals stop
break
lines.append(user_input)
Hoặc để chỉ định nhiều dòng trên một dòng duy nhất sử dụng một delimiter:
lines = raw_input().split(";")
Bạn có thể thử sửa đổi phương thức này một chút để sử dụng và sử dụng nó trong chương trình của bạn.
Thứ nhất, nhập khẩu các mô-đun linecache:
import linecache
Module linecache cho phép bạn truy cập vào bất kỳ dòng từ bất kỳ tập tin. Trong ba phương pháp của nó, phương pháp bạn có thể sử dụng nhiều nhất là đường nối. Cú pháp cho getline là như sau:
linecache.getline('filename', line_number)
Nếu bạn có một tập tin gọi là 'myfile.txt' và muốn đọc dòng 138 từ nó, getline cho phép bạn làm như vậy một cách dễ dàng.
retrieved_line = linecache.getline('myfile.txt', 138)
Sau đó, bạn có thể chỉ cần in retrieved_line hoặc xử lý dữ liệu của dòng 138 mà không thực hiện phẫu thuật trên chính tệp đó.
thanx cho ur đề nghị .. :-) –
Bạn sẽ cần phải thực hiện một chức năng như vậy cho mình. Ví dụ:
def getline(stream, delimiter="\n"):
def _gen():
while 1:
line = stream.readline()
if delimiter in line:
yield line[0:line.index(delimiter)]
break
else:
yield line
return "".join(_gen())
import sys
getline(sys.stdin, ".")
đây cũng là good..will xem cái nào Cuối cùng tôi sử dụng .... –
- 1. python tương đương tương đương
- 2. python tương đương với sed
- 3. Python tương đương với find2perl
- 4. Python tương đương với Sinatra
- 5. Tương đương TreeSet của Java tương đương với Python?
- 6. Tương đương python với perl "a" .. "azc"
- 7. xml.etree.ElementTree của Python tương đương với thư viện XML C++
- 8. Tương đương với __func__ (từ C) trong Python
- 9. Tương đương với nhiệm vụ C# trong python
- 10. Python tương đương
- 11. MATLAB tương đương với String.Join Python()
- 12. C# tương đương với shell_exec
- 13. Double.doubleToLongBits tương đương với C#?
- 14. DoEvents tương đương với C++?
- 15. Python tương đương với atoi/atof
- 16. Tương đương với Scikit-learning cho C++?
- 17. C tương đương với ++ STL C
- 18. Là getchar() tương đương với scanf ("% c") và putchar() tương đương với printf ("% c")?
- 19. PHP tương đương với Python __name__ == "__main__"?
- 20. Tương đương với LinkedHashMap trong Python
- 21. Python tương đương với 'method_missing' của Ruby '
- 22. Python tương đương với Curl HTTP bài
- 23. Java Tương đương với từ điển Python
- 24. Python tương đương với Mclapply của R()
- 25. Python có tương đương với 'chuyển' không?
- 26. Java tương đương với bisect trong python
- 27. Danh sách PHP() tương đương với Python
- 28. Python subprocess Popen.communicate() tương đương với Popen.stdout.read()?
- 29. Tương đương với việc tiêm() bằng Python?
- 30. Java tương đương với struct.pack của Python?
này phù hợp với nguyên nhân của tôi tốt .. :-) –