File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed
Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change 44
55from __future__ import print_function
66import os
7+ import os .path
78import sys
89import code
910from optparse import OptionParser , OptionGroup
@@ -110,10 +111,15 @@ def exec_code(interpreter, args):
110111 Helper to execute code in a given interpreter. args should be a [faked]
111112 sys.argv
112113 """
113- with open (args [0 ], 'r' ) as sourcefile :
114+ plusmain = os .path .join (args [0 ], '__main__.py' )
115+ if os .path .isdir (args [0 ]) and os .path .exists (plusmain ):
116+ path = plusmain
117+ else :
118+ path = args [0 ]
119+ with open (path , 'r' ) as sourcefile :
114120 source = sourcefile .read ()
115121 old_argv , sys .argv = sys .argv , args
116- sys .path .insert (0 , os .path .abspath (os .path .dirname (args [ 0 ] )))
117- interpreter .locals ['__file__' ] = args [ 0 ]
118- interpreter .runsource (source , args [ 0 ] , 'exec' )
122+ sys .path .insert (0 , os .path .abspath (os .path .dirname (path )))
123+ interpreter .locals ['__file__' ] = path
124+ interpreter .runsource (source , path , 'exec' )
119125 sys .argv = old_argv
You can’t perform that action at this time.
0 commit comments