Python Forum
here is another 2.7 to 3.5 convert
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
here is another 2.7 to 3.5 convert
#1
here is the code, some of it have been converted, so like it is not it will not run on ether one.

import socket   #for sockets import sys  #for exit   try:     #create an AF_INET, STREAM socket (TCP)     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error as msg:     print('Failed to create socket. Error code: {}'.format(str(msg)))     sys.exit()   print ('Socket Created')   host = 'www.google.com' port = 80   try:     remote_ip = socket.gethostbyname( host )   except socket.gaierror:     #could not resolve     print ('Hostname could not be resolved. Exiting')     sys.exit()       print ('Ip address of ') + host + ' is ' + remote_ip   #Connect to remote server s.connect((remote_ip , port))   print ('Socket Connected to ') + host + ' on ip ' + remote_ip
I think this part is the problem:
print ('Ip address of ') + host + ' is ' + remote_ip   #Connect to remote server s.connect((remote_ip , port))   print ('Socket Connected to ') + host + ' on ip ' + remote_ip
I been looking for a place that show the 2.7 commands = the 3.5, I have not found any thing like that yet.

What way is the best to convert the code?
Sick

I try to edit this but could find a way.
Reply
#2
(Oct-21-2016, 04:37 PM)Blue Dog Wrote: What way is the best to convert the code?
Actually knowing Python help Wink
and what's the difference is between 2 and 3 it's not so much work to convert short code like this.
Use 2to3 it dos a pretty good job.
(Oct-21-2016, 04:37 PM)Blue Dog Wrote: I think this part is the problem:
>>> host = 'google.com' >>> remote_ip = '111.111.111' >>> print ('Ip address of ') + host + ' is ' + remote_ip Ip address of Traceback (most recent call last):  File "<string>", line 301, in runcode  File "<interactive input>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' # Fix >>> print('Ip address of ' + host + ' is ' + remote_ip) Ip address of google.com is 111.111.111 >>> # Better >>> print('Ip address of {} is {}'.format(host, remote_ip)) Ip address of google.com is 111.111.111
Reply
#3
I don't need a port? =  port = 80
what is a  remote_ip = '111.111.111, that only have 3 set of numbers, most ip have 4 set of numbers 111.111.111.111?
********************************************************************************************
I tryed to run the code and I got this:
File "C:\Users\renny and kite\Desktop\Python code snpppets\email_scraper.py", line 17
    Ip address of
             ^
SyntaxError: invalid syntax
[Finished in 0.1s]
************************************************************************************************

17 Ip address of    #this is where line 17 starts
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
*******************************************************************************************************
This having two type of code is driving me crazy.
You can see that I want to play around with bots. Is the a good tut. in 3.5 on making bots. I don't care what kinds, right now just want to get basic down and learned, then I can go from their?
Reply
#4
(Oct-21-2016, 05:33 PM)Blue Dog Wrote: what is a  remote_ip = '111.111.111, that only have 3 set of numbers, most ip have 4 set of numbers 111.111.111.111?
It could have been any number,i was just showing what was wrong with this line:
print ('Ip address of ') + host + ' is ' + remote_ip # ) wrong placement
The correct and best way:
print('Ip address of {} is {}'.format(host, remote_ip))
Have you not look into now how interactive interpreter work?


You can try this code:
import socket    import sys try:         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error as msg:     print('Failed to create socket. Error code: {}'.format(str(msg)))     sys.exit() print('Socket Created') host = 'www.google.com' port = 80 try:     remote_ip = socket.gethostbyname(host) except socket.gaierror:     print('Hostname could not be resolved. Exiting')     sys.exit() print('Ip address of {} is {}'.format(host, remote_ip)) s.connect((remote_ip , port)) print('Socket Connected to {} on ip {}'.format(host, remote_ip))
Reply
#5
Ok, that does work, I found a place that have a lot of the commands for 3.5.2 . I hope I can start to get my mind warped around this.
Thank you
blue dog
Reply
#6
I found this great book on web scraper call "Web-Scraping-With-Python. Big Grin 

I been looking for something like for a while now.
Blue Dog Smile
Reply


User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020
This forum uses Lukasz Tkacz MyBB addons.
Forum use Krzysztof "Supryk" Supryczynski addons.