As far as I aware Python and C, and likely most programming languages will be able to call your peripheral devices, ie SPI, I2C, etc. What is more important is do they do it properly!
If you are working on the original NanoPi, seeing it was my main development platform I would suggest first searching around for nanopi and I2C on this forum. I could not get it to work properly, maybe because I am not a kernel hacker. There were timing issues that were never resolved.
Consequently, I had to move to a RaspberryPi where SPI and I2C just seem to work properly.
I would suggest moving to a more recent FA product. However, learning on any platform I am sure will be beneficial.
Good luck!