where can a generic application write on an SD card? I have a tablet running KitKat and face the problem of not being able to write to the SD card (specifically with QPython). I cannot root the tablet (yet).

My understanding is that an application can only write to a special directory which is created for the lifetime of the application in /extSdCard/Android/data. 

Indeed, I can see there a bunch of directories, some of which have names which are the ones of my apps (it looks like a Java style way of naming, I do not know Java but I saw some spectacular stack dumps which had that nomenclature).

Now, I do not see anything close to QPython, which brings the questions:


do all applications create by default this special directory?
if yes: how can I match the name of the app to the directory?
if no: is there a way for such application to write to the SD card?
Those questions is pretty easy to answer:


No, Android only creates those folders, if they are used. This is valid for both, internal SD and external SD.
There are many ways to get the package name (this is the internal name) of an app. The easiest way would be going to http://play.google.com(Google Play Store) on PC and opening the app's page there, then simply look at the last part of the url: e.g. https://play.google.com/store/apps/details?id=com.hipipal.qpyplus (the id= part). For QPython this is: com.hipipal.qpyplus.
Every application can write to its own folder. Reading or writing to other folders on the external SD card requires special permissions.