私の知る限り、VeryHighLevelレイヤーからこれを行うことはできません。(試したことはありPyRun_SimpleFileExFlagsますか?)では、ImportingModulesAPIを確認します。
インポートしようとしているだけの場合foo、または同等のimportlib風の処理を実行しようとしている場合は、それがそうであるかどうかを気にせずにfoo.py、foo.pycそれほど難しくはありません。ただし、インポートの通常のルールを回避し、パス名でファイルを明示的に指定しようとしている場合は、それが可能である必要がありますが、それを行う方法は考えられません。ただし、次の場合を除きます。
.pycファイルは、内部では、からのマジックナンバー、PyImport_GetMagicNumber()無視できる4バイトのタイムスタンプ、marshal.loadsPythonまたはPyMarshal_ReadObjectFromStringCからのマーシャリングされたコードオブジェクトです。
私はこれをCからではなく、Pythonからテストしました。
>>> with open('foo.pyc', 'rb') as f:
... data = f.read()
>>> code = marshal.loads(data[8:])
>>> code
<code object <module> at 0x110118730, file "foo.py", line 1>
そしてそれを調べると、それはまさにそれが本来あるべき姿であるように思われます。