How can I know if a certain port is open/closed on linux ubuntu, not a remote system, using python? 
How can I list these open ports in python?

Netstat: 
Is there a way to integrate netstat output with python?
Netstat tool simply parses some /proc files like /proc/net/tcp and combines it with other files contents. Yep, it's highly platform specific, but for Linux-only solution you can stick with it. Linux kernel documentation describes these files in details so you can find there how to read them.
Please also notice your question is too ambiguous because "port" could also mean serial port (/dev/ttyS* and analogs), parallel port, etc.; I've reused understanding from another answer this is network port but I'd ask you to formulate your questions more accurately.
How to check if a network port is open?