My thoughts:
Don't use For. Either act with functions on lists using Map or Apply etc., use Table, or if you must loop, use Do.
It's rare to see the syntax f[x_] = ... used with great success, because this syntax evaluates the RHS immediately. Probably you mean to define a function that computes the RHS for every input x. The syntax for this is f[x_] := ...
Don't redefine functions inside loops if you can avoid it. In the loop only γ changes, so make ψ an expression in x, depending on γ, instead.
Avoid Subscript for anything except pretty-printing in plot labels etc. They often don't behave the way we naively think.
With all this in mind, here is the rewritten code:
m0 = 1; ω = 1; m = 1; ψ[γ_] := Sqrt[m0/(1 + γ x^2)^2] E^((-ω m0 )/(2 γ) ArcTan[x Sqrt[γ]]^2) HermiteH[m, Sqrt[(ω m0)/γ] ArcTan[x Sqrt[γ]]]; sx[γ_] := Module[{a, n, normpsi}, a = NIntegrate[ψ[γ]^2, {x, -∞, ∞}]; n = 1/Sqrt[a]; normpsi = n Ψ[γ]; NIntegrate[normpsi^2 Log[normpsi^2], {x, -∞, ∞}] ]
If you want one result per value of γ you can for instance do
Do[sx[g] >> ToString[g]<>".txt", {g, 0.1, 1, 0.1}]
The part ToString[g]<>".txt" generates a .txt file with a name depending on the value of g, which I guess is the main thing OP is asking for. One can also use Export in this way.
UPDATE
To export all the values in the format specified in the OP, one way is
Do[ToString[γ] <> " " <> ToString[sx[γ]] >>> "data.txt", {γ, 0.1, 1, 0.1} ]
Here we use >>>, AKA PutAppend, to add new lines to the file for each value of γ.