Yes, you already have a connection.
The connection files that you use to access your enterprise geodatabase through ArcMap/ArcCatalog/ArcGlobe etc. are the same files that you use to access your data through Python. These are the connections you create through ArcGIS Desktop when you go to 'Database Connections' > 'Add Database Connection'.
When you are working in ArcGIS Desktop you can think of these connection files as being the same as a file or personal geodatabase. You double click to view the contents and drag and drop contents from these connections into tools or into your map. The only difference is that the SDE Geodatabase has added functionality for managing permissions and editing transactions (more menu options). In Python this is the same story, you reference an existing SDE connection file the same way you reference a file or personal geodatabase 'connection'.
You can think of the 'createArcSDEConnectionFile' tool as something on par with the 'create file geodatabase' or 'create personal geodatabase' tools. You only need to use these tools if your 'connection' (aka file or personal geodatabase or sde connection file) does not already. However if you have database connections or existing file or personal geodatabases you do not need to create them in every script that you write.
I do not know why this is not working. I will need some more information to assist in answering that.
- What is the Python code you are using?
- What DBMS are you using (Oracle, SQL Server, PostGres, DB2, Informix)
- What error messages are you getting?