Tôi có vấn đề với việc thay đổi giá trị dict và lưu dict cho một tệp văn bản [định dạng phải giống nhau], tôi chỉ muốn thay đổi trường
def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
0.Tệp văn bản của tôi là định dạng sau:
memberID:member_name:member_email:member_phone
Và tôi chia tệp văn bản với:
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
Khi tôi cố gắng thay đổi
def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
0 được lưu trữ trong def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
2, giá trị đã thay đổi không chảy bằng khóa,def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
Và làm thế nào để lưu dict cho một tệp văn bản có cùng định dạng?
Martineau
Huy hiệu vàng 115K2525 gold badges160 silver badges284 bronze badges
Đã hỏi ngày 5 tháng 10 năm 2013 lúc 18:34Oct 5, 2013 at 18:34
Python có mô -đun dưa chua chỉ cho loại điều này.
Các chức năng này là tất cả những gì bạn cần để lưu và tải hầu hết mọi đối tượng:
with open['saved_dictionary.pkl', 'wb'] as f:
pickle.dump[dictionary, f]
with open['saved_dictionary.pkl', 'rb'] as f:
loaded_dict = pickle.load[f]
Để lưu bộ sưu tập Python, có mô -đun kệ.
Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:50Oct 5, 2013 at 18:50
ZahzahZah
5,8231 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng1 gold badge21 silver badges34 bronze badges
5
Pickle có lẽ là lựa chọn tốt nhất, nhưng trong trường hợp mọi người tự hỏi làm thế nào để lưu và tải từ điển vào một tệp bằng cách sử dụng Numpy:
import numpy as np
# Save
dictionary = {'hello':'world'}
np.save['my_file.npy', dictionary]
# Load
read_dictionary = np.load['my_file.npy',allow_pickle='TRUE'].item[]
print[read_dictionary['hello']] # displays "world"
FYI: Trình xem tệp NPY
10xAI
1551 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges
Đã trả lời ngày 26 tháng 8 năm 2015 lúc 0:05Aug 26, 2015 at 0:05
8
Chúng tôi cũng có thể sử dụng mô -đun
3 trong trường hợp khi từ điển hoặc một số dữ liệu khác có thể dễ dàng được ánh xạ tới định dạng JSON. in the case when dictionaries or some other data can be easily mapped to JSON
format.def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
import json
# Serialize data into file:
json.dump[ data, open[ "file_name.json", 'w' ] ]
# Read data from file:
data = json.load[ open[ "file_name.json" ] ]
Giải pháp này mang lại nhiều lợi ích, ví dụ như hoạt động cho Python 2.x và Python 3.x ở dạng không thay đổi và ngoài ra, dữ liệu được lưu ở định dạng JSON có thể dễ dàng chuyển giữa nhiều nền tảng hoặc chương trình khác nhau. Dữ liệu này cũng có thể đọc được con người., eg works for Python 2.x and Python 3.x in an unchanged form and in addition, data saved in JSON format can be easily transferred between many different platforms or programs. This data are also human-readable.
Đã trả lời ngày 11 tháng 3 năm 2019 lúc 19:59Mar 11, 2019 at 19:59
Simhumilecosimhumilecosimhumileco
28.6K16 Huy hiệu vàng126 Huy hiệu bạc106 Huy hiệu Đồng16 gold badges126 silver badges106 bronze badges
2
Lưu và tải Dict vào Tệp:
def save_dict_to_file[dic]:
f = open['dict.txt','w']
f.write[str[dic]]
f.close[]
def load_dict_from_file[]:
f = open['dict.txt','r']
data=f.read[]
f.close[]
return eval[data]
Đã trả lời ngày 27 tháng 8 năm 2018 lúc 17:57Aug 27, 2018 at 17:57
JungleJetJungleJetjunglejet
2372 Huy hiệu bạc2 Huy hiệu đồng2 silver badges2 bronze badges
Vì Pickle có một số mối quan tâm về bảo mật và chậm [nguồn], tôi sẽ đi cho JSON, vì nó nhanh, tích hợp, có thể đọc được và có thể thay thế cho con người:
import json
data = {'another_dict': {'a': 0, 'b': 1}, 'a_list': [0, 1, 2, 3]}
# e.g. file = './data.json'
with open[file, 'w'] as f:
json.dump[data, f]
Đọc là tương tự dễ dàng:
with open[file, 'r'] as f:
data = json.load[f]
Điều này tương tự như câu trả lời này, nhưng thực hiện xử lý tệp một cách chính xác.
Nếu việc cải thiện hiệu suất vẫn chưa đủ, tôi thực sự khuyên bạn nên
def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
4, thư viện JSON nhanh, chính xác cho Python xây dựng khi bị rỉ sét.Đã trả lời ngày 14 tháng 10 năm 2020 lúc 14:19Oct 14, 2020 at 14:19
Michael Dornermichael DornerMichael Dorner
15.3k11 Huy hiệu vàng76 Huy hiệu bạc107 Huy hiệu đồng11 gold badges76 silver badges107 bronze badges
2
Tôi không chắc câu hỏi đầu tiên của bạn là gì, nhưng nếu bạn muốn lưu từ điển vào tệp, bạn nên sử dụng thư viện
def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
3. Tra cứu tài liệu về tải và đặt các chức năng.
Francesco Boi
7.51412 Huy hiệu vàng69 Huy hiệu bạc109 Huy hiệu đồng12 gold badges69 silver badges109 bronze badges
Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:43Oct 5, 2013 at 18:43
JohnjohnJohn
5613 Huy hiệu bạc10 Huy hiệu đồng3 silver badges10 bronze badges
3
Tôi sẽ khuyên bạn nên lưu dữ liệu của bạn bằng định dạng JSON thay vì định dạng Pickle vì các tệp của JSON có thể đọc được, điều này giúp cho việc gỡ lỗi của bạn dễ dàng hơn vì dữ liệu của bạn nhỏ. Các tệp JSON cũng được sử dụng bởi các chương trình khác để đọc và ghi dữ liệu. Bạn có thể đọc thêm về nó ở đây
Bạn sẽ cần cài đặt mô -đun JSON, bạn có thể làm như vậy với PIP:
pip install json
# To save the dictionary into a file:
json.dump[ data, open[ "myfile.json", 'w' ] ]
Điều này tạo ra một tệp JSON với tên MyFile.
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
0Điều này đọc và lưu trữ dữ liệu myfile.json trong một đối tượng dữ liệu.
blueseal
2.4656 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng6 gold badges26 silver badges40 bronze badges
Đã trả lời ngày 17 tháng 11 năm 2019 lúc 10:45Nov 17, 2019 at 10:45
Đối với một từ điển của các chuỗi như bản bạn đang xử lý, nó có thể được thực hiện chỉ bằng khả năng xử lý văn bản tích hợp của Python.
[Lưu ý điều này sẽ không hoạt động nếu các giá trị là một cái gì đó khác.]
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
1Đã trả lời ngày 5 tháng 10 năm 2013 lúc 22:22Oct 5, 2013 at 22:22
Martineaumartineaumartineau
Huy hiệu vàng 115K2525 gold badges160 silver badges284 bronze badges
2
Đã hỏi ngày 5 tháng 10 năm 2013 lúc 18:34
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
2Python có mô -đun dưa chua chỉ cho loại điều này.
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
3
Các chức năng này là tất cả những gì bạn cần để lưu và tải hầu hết mọi đối tượng:May 10, 2021 at 22:55
Gary02127Gary02127Gary02127
Để lưu bộ sưu tập Python, có mô -đun kệ.1 gold badge23 silver badges28 bronze badges
Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:50
Zahzah
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
45,8231 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
5Pickle có lẽ là lựa chọn tốt nhất, nhưng trong trường hợp mọi người tự hỏi làm thế nào để lưu và tải từ điển vào một tệp bằng cách sử dụng Numpy:
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
6FYI: Trình xem tệp NPYOct 5, 2013 at 18:59
1551 Huy hiệu bạc7 Huy hiệu đồngmguijarr
Đã trả lời ngày 26 tháng 8 năm 2015 lúc 0:055 gold badges43 silver badges71 bronze badges
2
Chúng tôi cũng có thể sử dụng mô -đun
def change[mdict,b,c,d,e]:
a=input['ID']
if a in mdict:
d= str[input['phone']]
mdict[a]=b+':'+c+':'+d
else:
print['not']
3 trong trường hợp khi từ điển hoặc một số dữ liệu khác có thể dễ dàng được ánh xạ tới định dạng JSON.mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
7Giải pháp này mang lại nhiều lợi ích, ví dụ như hoạt động cho Python 2.x và Python 3.x ở dạng không thay đổi và ngoài ra, dữ liệu được lưu ở định dạng JSON có thể dễ dàng chuyển giữa nhiều nền tảng hoặc chương trình khác nhau. Dữ liệu này cũng có thể đọc được con người.Nov 7, 2017 at 23:38
Đã trả lời ngày 11 tháng 3 năm 2019 lúc 19:59wordsforthewise
Simhumilecosimhumileco5 gold badges81 silver badges110 bronze badges
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
828.6K16 Huy hiệu vàng126 Huy hiệu bạc106 Huy hiệu Đồng
mdict={}
for line in file:
x=line.split[':']
a=x[0]
b=x[1]
c=x[2]
d=x[3]
e=b+':'+c+':'+d
mdict[a]=e
9
Lưu và tải Dict vào Tệp:Feb 18, 2021 at 6:10