Dưới đây là nhiều tối ưu hóa và ứng dụng của phong cách Python thích hợp để làm cho mã của bạn gọn gàng hơn rất nhiều. Tôi đã đặt một số mã tùy chọn bằng mô -đun csv
, mong muốn hơn so với phân tích thủ công. Tôi cũng đã đặt một chút lòng tốt của ____, nhưng tôi không sử dụng các thuộc tính mà sau đó cung cấp. Tên của các phần của tên gọi là không chính xác, bạn sẽ cần sửa chúng.
import csv
from collections import namedtuple
from time import localtime, strftime
# Method one, reading the file into lists manually [less desirable]
with open['grades.dat'] as files:
grades = [[e.strip[] for e in s.split[',']] for s in files]
# Method two, using csv and namedtuple
StudentRecord = namedtuple['StudentRecord', 'id, lastname, firstname, something, homework1, homework2, homework3, homework4, homework5, homework6, homework7, exam1, exam2, exam3']
grades = map[StudentRecord._make, csv.reader[open['grades.dat']]]
# Now you could have student.id, student.lastname, etc.
# Skipping the namedtuple, you could do grades = map[tuple, csv.reader[open['grades.dat']]]
request = open['requests.dat', 'w']
cont = 'y'
while cont.lower[] == 'y':
answer = raw_input['Please enter the Student I.D. of whom you are looking: ']
for student in grades:
if answer == student[0]:
print '%s, %s %s %s' % [student[1], student[2], student[0], student[3]]
time = strftime['%a, %b %d %Y %H:%M:%S', localtime[]]
print time
print 'Exams - %s, %s, %s' % student[11:14]
print 'Homework - %s, %s, %s, %s, %s, %s, %s' % student[4:11]
total = sum[int[x] for x in student[4:14]]
print 'Total points earned - %d' % total
grade = total / 5.5
if grade >= 90:
letter = 'an A'
elif grade >= 80:
letter = 'a B'
elif grade >= 70:
letter = 'a C'
elif grade >= 60:
letter = 'a D'
else:
letter = 'an F'
if letter = 'an A':
print 'Grade: %s, that is equal to %s.' % [grade, letter]
else:
print 'Grade: %.2f, that is equal to %s.' % [grade, letter]
request.write['%s %s, %s %s\n' % [student[0], student[1], student[2], time]]
print
cont = raw_input['Would you like to search again? ']
print 'Goodbye.'
Được tạo ra: Tháng 7-01, 2021 | Cập nhật: Tháng 8 đến 10 tháng 8 năm 2021 Xử lý tệp như chỉnh sửa tệp, mở tệp và đọc tệp có thể dễ dàng được thực hiện trong Python. Đọc một tệp trong Python là một nhiệm vụ rất phổ biến mà bất kỳ người dùng nào thực hiện trước khi thực hiện bất kỳ thay đổi nào đối với tệp.strip[]
và
0 để đọc một dòng mà không có dòng mới trong Pythonwith open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
1 và with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
2 để đọc một dòng mà không có dòng mới trong Pythonwith open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
3 hoặc toán tử with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
4 để đọc một dòng mà không có dòng mới trong Pythonwith open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
5 để đọc một dòng mà không có dòng mới trong Pythonwith open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
Trong khi đọc tệp, ký tự dòng mới
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
6 được sử dụng để biểu thị phần cuối của tệp và đầu dòng tiếp theo. Hướng dẫn này sẽ trình bày cách đọc dòng mà không cần một dòng mới trong Python.Sử dụng các phương pháp strip[]
và with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
0 để đọc một dòng mà không có dòng mới trong Python
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
Phương pháp strip[]
trong Python giúp bỏ qua các không gian có mặt ở đầu [dẫn đầu] và ở cuối [theo dõi]. Bên cạnh không gian trắng, phương thức strip[]
cũng bao gồm các ký tự dòng mới.
Ở đây, một ví dụ bạn có thể làm theo.
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = line.rstrip['\n']
newline_break += line_strip
print[newline_break]
1 được sử dụng để mở tệp. Lưu ý rằng phương pháp strip[]
sẽ loại bỏ dòng mới và khoảng trắng ở đầu và cuối trong ví dụ trên. Để giữ không gian trắng và chỉ cần bỏ qua dòng mới, lệnh with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
6 được truyền dưới dạng đối số hoặc tham số cho phương thức strip[]
.Chúng ta cũng có thể sử dụng phương pháp
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
0 vì phương pháp strip[]
bỏ qua cả không gian dẫn đầu và dấu vết. Mặt khác, phương pháp with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
0 chỉ loại bỏ các khoảng trắng hoặc ký tự. Phương pháp này rất hữu ích vì dòng mới có mặt ở cuối mỗi chuỗi. Chúng ta cũng có thể đề cập đến nhân vật Newline của with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
6.Thực hiện theo ví dụ này dưới đây.
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = line.rstrip['\n']
newline_break += line_strip
print[newline_break]
Sử dụng các phương pháp with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
1 và with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
2 để đọc một dòng mà không có dòng mới trong Python
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
Phương pháp
with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1 trong Python giúp chia một bộ chuỗi thành một danh sách. Mỗi chuỗi trong tập hợp của chuỗi là một phần tử của danh sách. Do đó, phương thức with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1 chia chuỗi ở bất cứ nơi nào dòng mới có mặt.with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
Ở đây, lưu ý rằng điểm mà sự phân chia diễn ra không được đề cập. Vì vậy, để đề cập đến điểm mà việc phân chia nên diễn ra thủ công, phương pháp
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
2 được sử dụng. Phương pháp này thực hiện cùng một nhiệm vụ với phương thức with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1, nhưng nó chính xác hơn một chút.with open["randomfile.txt", "r"] as file:
readline=file.read[].split["\n"]
print[readline]
Sử dụng with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
3 hoặc toán tử with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
4 để đọc một dòng mà không có dòng mới trong Python
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
Sử dụng phương thức
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
5 để đọc một dòng mà không có dòng mới trong Python
Ở đây, một ví dụ bạn có thể làm theo.
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = line[:-1]
newline_break += line_strip
print[newline_break]
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = line.rstrip['\n']
newline_break += line_strip
print[newline_break]
1 được sử dụng để mở tệp. Lưu ý rằng phương pháp strip[]
sẽ loại bỏ dòng mới và khoảng trắng ở đầu và cuối trong ví dụ trên. Để giữ không gian trắng và chỉ cần bỏ qua dòng mới, lệnh with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
6 được truyền dưới dạng đối số hoặc tham số cho phương thức strip[]
.Sử dụng phương thức with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
5 để đọc một dòng mà không có dòng mới trong Python
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
Xử lý tệp như chỉnh sửa tệp, mở tệp và đọc tệp có thể dễ dàng được thực hiện trong Python. Đọc một tệp trong Python là một nhiệm vụ rất phổ biến mà bất kỳ người dùng nào thực hiện trước khi thực hiện bất kỳ thay đổi nào đối với tệp.
Thực hiện theo ví dụ này dưới đây.
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = line.replace['\n', " "]
newline_break += line_strip
print[newline_break]
Phương pháp with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1 trong Python giúp chia một bộ chuỗi thành một danh sách. Mỗi chuỗi trong tập hợp của chuỗi là một phần tử của danh sách. Do đó, phương thức with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1 chia chuỗi ở bất cứ nơi nào dòng mới có mặt.
with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
2 được sử dụng. Phương pháp này thực hiện cùng một nhiệm vụ với phương thức with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
1, nhưng nó chính xác hơn một chút.with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
3 trong Python giúp truy cập các phần khác nhau của chuỗi hoặc chuỗi riêng biệt. Toán tử with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
3 được định nghĩa là: with open["randomfile.txt", "r"] as file:
readline=file.read[].splitlines[]
print[readline]
9.with open["randomfile.txt", "r"] as file:
readline=file.read[].split["\n"]
print[readline]
0.with open["randomfile.txt", "r"] as file:
newline_break = ""
for readline in file:
line_strip = readline.strip[]
newline_break += line_strip
print[newline_break]
5 là chức năng Python tích hợp được sử dụng để trả về một chuỗi trong đó một chuỗi con với tất cả các lần xuất hiện của nó được thay thế bằng một nền tảng khác.