2013-07-24 28 views

回答

1

的家當是,如果它是文件的第一行唯一有效的......所以,好像你可以這樣做:

import module 
fname = module.__file__ 
with open(fname) as fin: 
    shebang = next(fin) 

當然,我已經跳過了一堆微妙之處......(確保第一行實際上是一條評論,確保我們抓取了.py文件而不是.pyc文件等)。如果你想讓它更強大,那些檢查和替換應該很容易做到。

而且,我想使用魔法__file__另一種是使用inspect.getsourcelines

shebang = inspect.getsourcelines(module)[0] 
if not shebang.startswith('#!'): 
    pass #Not a shebang :) 
相關問題