cpython-withatomic / Lib / importall.py

# Utility module to import all modules in the path, in the hope
# that this will update their ".pyc" files.

import os
import sys

# Sabotage 'gl' and 'stdwin' to prevent windows popping up...
for m in 'gl', 'stdwin', 'fl', 'fm':
	sys.modules[m] = sys

exceptions = ['importall']

for dir in sys.path:
	print 'Listing', dir
	try:
		names = os.listdir(dir)
	except os.error:
		print 'Can\'t list', dir
		names = []
	names.sort()
	for name in names:
		head, tail = name[:-3], name[-3:]
		if tail == '.py' and head not in exceptions:
			s = 'import ' + head
			print s
			try:
				exec(s + '\n')
			except KeyboardInterrupt:
				del names[:]
				print '\n[interrupt]'
				break
			except:
				print 'Sorry:', sys.exc_type + ':',
				print sys.exc_value
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.