Điều đầu tiên bạn cần làm là biết cách đọc từng dòng từ một tệp. Đầu tiên, bạn phải mở tập tin; Bạn có thể làm điều này với tuyên bố
for line in intfile:
0:with open['my-file-name.txt'] as intfile:
Điều này mở một tệp và lưu trữ một tham chiếu đến tệp đó trong
for line in intfile:
1 và nó sẽ tự động đóng tệp ở cuối khối ____10 của bạn. Sau đó, bạn cần đọc từng dòng từ tệp; Bạn có thể làm điều đó với một vòng lặp cũ thường xuyên: for line in intfile:
Điều này sẽ lặp qua từng dòng trong tệp, đọc từng cái một. Trong vòng lặp của bạn, bạn có thể truy cập từng dòng dưới dạng
for line in intfile:
3. Tất cả những gì còn lại là thực hiện yêu cầu đến trang web của bạn bằng mã bạn đã đưa ra. Một chút của bạn còn thiếu là cái được gọi là "nội suy chuỗi", cho phép bạn định dạng một chuỗi với các chuỗi, số hoặc bất cứ thứ gì khác. Trong trường hợp của bạn, bạn muốn đặt một chuỗi [dòng từ tệp của bạn] trong một chuỗi khác [URL]. Để làm điều đó, bạn sử dụng cờ for line in intfile:
4 cùng với toán tử nội suy chuỗi, for line in intfile:
5:url = '//example.com/?id=%s' % line
A = json.load[urllib.urlopen[url]]
print A
Đặt tất cả lại với nhau, bạn nhận được:
with open['my-file-name.txt'] as intfile:
for line in intfile:
url = '//example.com/?id=%s' % line
A = json.load[urllib.urlopen[url]]
print A
Tôi muốn sử dụng các chuỗi truy vấn để truyền các giá trị qua URL. Ví dụ:
//127.0.0.1:5000/data?key=xxxx&secret=xxxx
Trong Python, làm thế nào tôi có thể thêm các biến vào URL? Ví dụ:
key = "xxxx"
secret = "xxxx"
url = "//127.0.0.1:5000/data?key=[WHAT_GOES_HERE]&secret=[WHAT_GOES_HERE]"
Alexma
9.5527 Huy hiệu vàng40 Huy hiệu bạc62 Huy hiệu Đồng7 gold badges40 silver badges62 bronze badges
Hỏi ngày 15 tháng 4 năm 2015 lúc 16:19Apr 15, 2015 at 16:19
Cách an toàn nhất là làm như sau:
import urllib
args = {"key": "xxxx", "secret": "yyyy"}
url = "//127.0.0.1:5000/data?{}".format[urllib.urlencode[args]]
Bạn sẽ muốn đảm bảo các giá trị của bạn được mã hóa URL.
Các ký tự duy nhất an toàn để gửi không được mã hóa là [0-9a-za-z] và $ -_.+!*'[]
Mọi thứ khác cần được mã hóa.
Để biết thêm thông tin, hãy đọc qua trang 2 của RFC1738
Đã trả lời ngày 15 tháng 4 năm 2015 lúc 16:24Apr 15, 2015 at 16:24
Sberrysberrysberry
125K18 Huy hiệu vàng135 Huy hiệu bạc165 Huy hiệu Đồng18 gold badges135 silver badges165 bronze badges
2
Ý bạn là?
key = "xxxx"
secret = "xxxx"
url = "//127.0.0.1:5000/data?key=%s&secret=%s" % [key, secret]
Đã trả lời ngày 15 tháng 4 năm 2015 lúc 16:20Apr 15, 2015 at 16:20
Lapinkoiralapinkoiralapinkoira
7.7508 Huy hiệu vàng46 Huy hiệu bạc87 Huy hiệu đồng8 gold badges46 silver badges87 bronze badges
1
Concat chuỗi của bạn và các biến của bạn:
key = "xxxx"
secret = "xxxx"
url = "//127.0.0.1:5000/data?key="+key+"&secret="+secret
Đã trả lời ngày 15 tháng 4 năm 2015 lúc 16:22Apr 15, 2015 at 16:22
user3636476user3636476user3636476
1.2572 huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng2 gold badges11 silver badges21 bronze badges
Tôi nghĩ rằng sử dụng Formatter là tốt hơn [khi bạn có nhiều tham số, điều này rõ ràng hơn %s]:
>>> key = "xxxx"
>>> secret = "xxxx"
>>> url = "//127.0.0.1:5000/data?key={key}&secret={secret}".format[key=key, secret=secret]
>>> print[url]
//127.0.0.1:5000/data?key=xxxx&secret=xxxx
Đã trả lời ngày 15 tháng 4 năm 2015 lúc 16:24Apr 15, 2015 at 16:24
SberrysberrySinux
125K18 Huy hiệu vàng135 Huy hiệu bạc165 Huy hiệu Đồng3 gold badges14 silver badges27 bronze badges