<p>How do I ping a website or IP address with Python?</p>

Depending on what you want to achive, you are probably easiest calling the system ping command..
Using the subprocess module is the best way of doing this, although you have to remember the ping command is different on different operating systems!
```
```
import subprocess

host = "www.google.com"

ping = subprocess.Popen(
    ["ping", "-c", "4", host],
    stdout = subprocess.PIPE,
    stderr = subprocess.PIPE
)

out, error = ping.communicate()
print out
```
```
You don't need to worry about shell-escape characters. For example..
```
```
host = "google.com; `echo test`
```
```
..will
not
execute the echo command.
Now, to actually get the ping results, you could parse the
```
out
```
variable. Example output:
```
```
round-trip min/avg/max/stddev = 248.139/249.474/250.530/0.896 ms
```
```
Example regex:
```
```
import re
matcher = re.compile("round-trip min/avg/max/stddev = (\d+.\d+)/(\d+.\d+)/(\d+.\d+)/(\d+.\d+)")
print matcher.search(out).groups()

# ('248.139', '249.474', '250.530', '0.896')
```
```
Again, remember the output will vary depending on operating system (and even the version of
```
ping
```
). This isn't ideal, but it will work fine in many situations (where you know the machines the script will be running on)