Serial communication between embedded system and PC with only USB ports available.
A USB-Serial adapter will do what you want, they're available and cheap. However they will most likely come with a RS232 SUB-D connector and output RS232 voltage levels, which then need conversion.

You can also find USB-Serial cables with pin headers and nice easy 3.3V levels, much simpler to use in your application.

EDIT

So you want to link your two devices via USB. Since you say the embedded device uses Linux, it must have Python. Depending on throughput and complexity, there are many solutions..


If your embedded board has Ethernet... just use that!
Two USB-Serial adapters back to back (speed is limited though)
The "USB to USB file transfer cable" which actually emulates an Ethernet port for each USB ports, so both devices are networked together.
Program the embedded board to act as a USB device, there are libraries to do this on Linux, I tried to google a bit and found this and this for example.


I've programmed a USB device on a Cortex-M4, it isn't rocket science but it does take a while. So if you need lowest possible cost, this would be the best, as all you need is a cable. If this is a one-off or personal project, I'd rather recommend the other solutions.