Hướng dẫn how do you print the last line of output in python? - làm thế nào để bạn in dòng cuối cùng của đầu ra trong python?

Tôi đang tìm kiếm để có được dòng cuối cùng được sản xuất từ ​​biến

-122.1058
-123.1050
-125.10584323
1

bash-4.1$ cat file1_dup.py
#!/usr/bin/python
with open["file1.txt"] as f:
  lines = f.readlines[]
  for line in lines:
    if "!" in line:
      line = line.split[][-1].strip[]
      print line

đầu ra tôi nhận được như sau ..

-122.1058
-123.1050
-125.10584323

Kết quả tôi muốn được in ra là

-122.1058
-123.1050
-125.10584323
2

Hơn nữa, tôi đã nhận được gợi ý từ một số Goghling và nhận được đầu ra mong muốn nhưng điều đó có vẻ hơi phức tạp với tôi tại điểm ..

bash-4.1$ cat file2_dup.py
#!/usr/bin/python
def file_read_from_tail[fname,n]:
  with open[fname] as f:
    f=f.read[].splitlines[]
    lines=[x for x in f]
    for i in range[len[lines]-n,len[lines]]:
      line = lines[i].split[][-1]
      #line = line.split[][-1]
      print line
file_read_from_tail['file1.txt',1]

Yeilds teh mong muốn như folows ..

bash-4.1$ ./file2_dup.py
-125.10584323

Tái bút: Tôi chỉ mượn câu hỏi vì lợi ích của Into Into từ: Cách đọc một dòng cụ thể và in một vị trí cụ thể trong dòng này bằng Python

Đã hỏi ngày 13 tháng 11 năm 2017 lúc 10:34Nov 13, 2017 at 10:34

krock1516krock1516krock1516

4197 Huy hiệu bạc 30 Huy hiệu Đồng7 silver badges30 bronze badges

Bạn có thể kiểm tra xem dòng mới có nhỏ hơn như cái trước như thế này không

#!/usr/bin/python
res_line = 0
with open["file1.txt"] as f:
  lines = f.readlines[]
  for line in lines:
    if "!" in line:
      line = float[line.split[][-1].strip[]]
      if res_line > line:
          res_line = line
  print res_line

Đã trả lời ngày 13 tháng 11 năm 2017 lúc 10:38Nov 13, 2017 at 10:38

Thomas Schwärzlthomas SchwärzlThomas Schwärzl

9.1616 Huy hiệu vàng42 Huy hiệu bạc67 Huy hiệu Đồng6 gold badges42 silver badges67 bronze badges

5

Edit:

Bạn có thể sử dụng

-122.1058
-123.1050
-125.10584323
3 để lấy các dòng được lập chỉ mục trong một vòng lặp:

with open["file1.txt", "rt"] as f:
    lines = f.readlines[]
    for line, content in enumerate[lines]:
        # apply your logic to line and/or content here
        # by adding ifs to select the lines you want...
        print line, content.strip[] # do your thing

sẽ xuất ra [chỉ để minh họa vì tôi không chỉ định bất kỳ điều kiện nào trong mã ở trên]:

0 -122.1058
1 -123.1050
2 -125.10584323
3 

hoặc thay thế, chọn dòng cụ thể của bạn với một điều kiện trong ListComp bằng cách sử dụng mã này thay thế:

with open["file1.txt", "rt"] as f:
    lines = f.readlines[]
    result = [ content.strip[] for line, content in enumerate[lines]
         if line == len[lines] - 2] # creates a list with
                                    # only the last line
    print result[0]

Điều đó sẽ xuất hiện:

-125.10584323

Đã trả lời ngày 13 tháng 11 năm 2017 lúc 11:30Nov 13, 2017 at 11:30

progmaticoprogmaticoprogmatico

4.3541 Huy hiệu vàng14 Huy hiệu bạc25 Huy hiệu đồng1 gold badge14 silver badges25 bronze badges

1

Hãy thử những điều sau:

print [line.split[][-1].strip[] for line in lines if '!' in line][-1]

Đã trả lời ngày 13 tháng 11 năm 2017 lúc 10:40Nov 13, 2017 at 10:40

O.SuleimanO.SuleimanO.Suleiman

8581 Huy hiệu vàng5 Huy hiệu bạc11 Huy hiệu đồng1 gold badge5 silver badges11 bronze badges

3

Tôi thấy một cách tốt hơn bằng cách tạo một danh sách trống và nối thêm giá trị đến từ điều kiện và sau đó chọn chỉ mục bạn chọn và liệt kê đầu ra, điều này tốt theo nghĩa là nó có thể được sử dụng cho bất kỳ dòng nào của bạn mà bạn yêu cầu để chọn.

Giả sử tôi wana dòng thứ hai cuối cùng sau đó có thể đặt lại giá trị trong phần in

-122.1058
-123.1050
-125.10584323
4, sẽ in chỉ mục cuối cùng của dòng thứ hai ..

-122.1058
-123.1050
-125.10584323
0

Đã trả lời ngày 13 tháng 11 năm 2017 lúc 13:38Nov 13, 2017 at 13:38

krock1516krock1516krock1516

4197 Huy hiệu bạc 30 Huy hiệu Đồng7 silver badges30 bronze badges

Làm thế nào để bạn in dòng cuối cùng trong Python?

Chương trình Python in các dòng cuối cùng trong một tệp là gì? => Hàm Open [] sẽ mở một tệp ở chế độ đọc và trả về nó dưới dạng đối tượng tệp. => readlines [] là một phương thức trả về tất cả các dòng trong tệp dưới dạng danh sách. Nếu chỉ mục là -1, nó sẽ nhận được dòng cuối cùng.

Làm thế nào để bạn tìm thấy kết thúc của một dòng trong một chuỗi trong Python?

Tìm ["\ n"] + 1, với cộng 1 là để chỉ số là ký tự sau dòng mới [nghĩa là bắt đầu dòng thứ hai]. Lưu câu trả lời này.

Kết thúc \ r làm gì trong Python?

Về mặt khái niệm, \ r di chuyển con trỏ sang đầu dòng và sau đó tiếp tục xuất các ký tự như bình thường.Bạn cũng cần nói rằng in không tự động đặt một ký tự mới ở cuối chuỗi.Trong python3, bạn có thể sử dụng end = "" như trong câu trả lời stackoverflow trước đó.moves the cursor to the beginning of the line and then keeps outputting characters as normal. You also need to tell print not to automatically put a newline character at the end of the string. In python3, you can use end="" as in this previous stackoverflow answer.

Làm thế nào để bạn in dòng thứ hai trong Python?

Trong Python, ký tự dòng mới \ n, được sử dụng để tạo ra một dòng mới.Khi được chèn vào một chuỗi, tất cả các ký tự sau khi ký tự được thêm vào một dòng mới.Về cơ bản, sự xuất hiện của các \ n, chỉ ra rằng dòng kết thúc ở đây và các ký tự còn lại sẽ được hiển thị trong một dòng mới.the new line character “\n” is used to create a new line. When inserted in a string all the characters after the character are added to a new line. Essentially the occurrence of the “\n” indicates that the line ends here and the remaining characters would be displayed in a new line.

Bài Viết Liên Quan

Chủ Đề