Very basic, it will grab one screen shot by monitor or a screen shot of all monitors and save it to a PNG file, Python 2.6/3.5 compatible & PEP8 compliant.
MSS stands for Multiple ScreenShots.
It’s under zlib licence.
Installation
You can install it with pip:
pip install --upgrade mss
Or you may just drop it in your project and forget about it.
Support
Python |
GNU/linux |
Mac OS X |
Windows |
|---|---|---|---|
3.5.0a3 |
True |
True |
True |
3.4.3 |
True |
True |
True |
3.3.6 |
True |
True |
True |
3.2.6 |
True |
True |
True |
3.1.5 |
True |
True |
True |
3.0.1 |
True |
True |
True |
2.7.9 |
True |
True |
True |
2.6.9 |
True |
True |
True |
Feel free to try MSS on a system we had not tested, and let report us by creating an [issue](https://github.com/BoboTiG/python-mss/issues).
Testing
You can try the MSS module directly from the console:
python mss.py
Instance the good class
So MSS can be used as simply as:
from mss import mss screenshotter = mss()
Or import the good one:
from mss import MSSLinux as mss screenshotter = mss()
save(output, screen, callback)
For each monitor, grab a screenshot and save it to a file.
Parameters:
output - string - the output filename. It can contain '%d' which
will be replaced by the monitor number.
screen - integer - grab one screenshot of all monitors (screen=-1)
grab one screenshot by monitor (screen=0)
grab the screenshot of the monitor N (screen=N)
callback - function - in case where output already exists, call
the defined callback function with output
as parameter. If it returns True, then
continue; else ignores the monitor and
switches to ne next.
This is a generator which returns created files.
Examples
One screenshot per monitor:
for filename in screenshotter.save():
print(filename)
Screenshot of the monitor 1:
for filename in screenshotter.save(screen=1):
print(filename)
Screenshot of the monitor 1, with callback:
def on_exists(fname):
''' Callback example when we try to overwrite an existing
screenshot.
'''
from os import rename
from os.path import isfile
if isfile(fname):
newfile = fname + '.old'
print('{0} -> {1}'.format(fname, newfile))
rename(fname, newfile)
return True
for filename in screenshotter.save(screen=1, callback=on_exists):
print(filename)
A screenshot to grab them all:
for filename in screenshotter.save(output='fullscreen-shot.png', screen=-1):
print(filename)
Metadata
Release files for mss 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mss-1.0.0.tar.gz | 11.9 kB | Details |
Release files / mss-1.0.0.tar.gz
| Download URL | mss-1.0.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3636950c00248e02ae16bd328245ff3eb2f1839053fcb77c19f1c7ecd20c9369
|
|
BLAKE2b-256 checksum How to use checksums |
20259ee80bfcc6e54f9ae1150d2f565cf787ee5b16336974471fbea351e757b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |