자기가 인정한 PHP 코더가 파이썬 측으로 향하고 머리가 아프다. 나는 단순하다고 생각하는 것을하려고 노력하고있다. 파일을 읽은 다음 (작업 한 후) 각 줄 입력을 변수에 저장 한 다음 문자열 변수를 기존 텍스트 문자열로 평가합니다. 여기 Python 3 문자열의 변수를 확인하십시오.
내가 가진 무엇?with open('./users.txt') as users:
for user in users:
conn.request("GET", "/vmrest/users?query=(alias%2520is%2520{})".format(user), headers)
res = conn.getresponse()
data = res.read()
내가 원하는 건 내 사용자 변수의 값이 바로 바로/vmrest/사용자 쿼리 = (별칭 % 2520is "다음에 문자열의 끝에 배치되어야한다 % 2520 user variable here
", 헤더)
감사
편집 미안 무슨 일이 일어 났는지 포함하지 않았다 실현. 아래는 내가 실행할 때 얻는 피드백입니다. 위의 예외 처리시
Traceback (most recent call last):
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 885, in send
self.sock.sendall(data)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/ssl.py", line 886, in sendall
v = self.send(data[count:])
TypeError: unhashable type: 'slice'
는 다른 예외가 발생했습니다
Traceback (most recent call last):
File "amer-unity.py", line 12, in <module>
conn.request("GET", "/vmrest/users?query=(alias%2520is%2520{})".format(user), headers)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 1128, in _send_request
self.endheaders(body)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 1079, in endheaders
self._send_output(message_body)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 913, in _send_output
self.send(message_body)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/http/client.py", line 889, in send
self.sock.sendall(d)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/ssl.py", line 886, in sendall
v = self.send(data[count:])
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/ssl.py", line 856, in send
return self._sslobj.write(data)
File "/opt/rh/rh-python35/root/usr/lib64/python3.5/ssl.py", line 581, in write
return self._sslobj.write(data)
TypeError: a bytes-like object is required, not 'str'
문제는 무엇입니까? – polku
원하는 동작이 매우 명확하지만 코드가 작동하지 않아야하는 이유가 표시되지 않습니다. 현재의 행동은 무엇입니까? (사이드 노트 : 웹 요청을 보내기 위해 ['requests'] (http://docs.python-requests.org/en/master/)를 고려하십시오. 파이썬 표준 lib보다 * 많이 * 낫습니다.) – jpmc26
형식화 된 문자열 및 당신이 무엇을 참조하십시오. 그것은 작동해야합니다. 사용자 ('user.strip()'의 주변 공백을 모두 없애기를 원할 것입니다. – acushner