Replace one-liner sed/awk with python
First you should add open(pp) to your with.
Always use with with open.
This is as it will always close the file, even if there is an error.

But onto your code. You seem to dislike comprehensions. I don't really get why.
Take your code:


for line in ppf.readlines():
    if not line.startswith("#"):
        temp.append(line)



This can instead be:

[line for line in ppf if not line.startswith("#")]


I know which I find easier to read. But if you don't like it fair dues.
After this I'd then slice the list, you want every third line.
To do this we can use the slice operator, say you have the string abcdefghijk, but you only want every third character.
You'd do 'abcdefghijk'[::3]. This gets adgj.
This removes the need for counter, and so can simplify your code to:

for pp in pp_files:
    with open(pp) as ppf, open(pp[:pp.rfind(".post")] + "_clean.post", "w") as outfile:
        for line in [line for line in ppf if not line.startswith("#")][::3]:
            outfile.write(" ".join(line.split()[1:3]) + '\n')


But if your file is large it'll read all of it into a list, then take a third of it put it in another list.
That's bad, instead if you use a generator comprehension and itertools.islice then you can achieve the same as above.
But the program will use less memory.

for pp in pp_files:
    with open(pp) as ppf, open(pp[:pp.rfind(".post")] + "_clean.post", "w") as outfile:
        for line in islice((line for line in ppf if not line.startswith("#")), 0, None, 3):
            outfile.write(" ".join(line.split()[1:3]) + '\n')