Optimizing a script that switches function arguments in code files
General
C function arguments are only passed by position and not by name. As such, any attempt to make this modify real code is likely to break callers, and it's possible for that breakage to be silent during compile-time if the exchanged parameters have the same type. That makes this kind of refactoring deeply ill-advised. You're better off using the built-in signature refactoring feature of (pick any grown-up IDE).
Early continuation
Consider rewriting
        if(func_name in file_content):
            has_function = True

as
if func_name not in file_content:
    continue

Note that the parens have been dropped; you don't need a flag variable; and you can de-indent the rest of the loop.
Fragility
Before asking

How can this code be optimized for performance?

you need to make it correct, and it definitely isn't right now for all cases. Functions in C are easily (and fairly often) aliased by pointer, and these aliases will not be modified if the pointer doesn't have the same name as the original function. Following such aliases would only reasonably be done by calling into an existing C parser like Clang/LLVM, which you should probably be doing anyway for robustness.