Can you be a bit more specific, please? A few things we'd need to know include:
- The version of Python you're using, and the platform it is running on.
- Your goal - is this to test the program, or spoof it in some way? Did you want this to be in the same program, or between two different programs?
- Is this a console program, or a GUI program? If a console program, do you need to have 'raw' input, or is standard, buffered input enough? If for a GUI program, what toolkit are you using?
- What kind of input do you need to simulate? Text, mouse button-downs, mouse movements?
I might add that chances are, you don't actually need to fake the user input; usually when that kind of thing comes up, it's a sign that your coupling the input to tightly with the computation. What I mean by this is, it is usually better to separate the parts of the program that actually work on the data from the parts that read in and print out the data. By decomposing the program this way, you usually get a more robust program, and one that is easier to test and maintain as well.