mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			28 lines
		
	
	
	
		
			679 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
	
		
			679 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import hashlib
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								import sys
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def main():
							 | 
						||
| 
								 | 
							
								    filenames, hashes, sizes = [], [], []
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    for file in sys.argv[1:]:
							 | 
						||
| 
								 | 
							
								        if not os.path.isfile(file):
							 | 
						||
| 
								 | 
							
								            continue
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        with open(file, 'rb') as f:
							 | 
						||
| 
								 | 
							
								            data = f.read()
							 | 
						||
| 
								 | 
							
								            md5 = hashlib.md5()
							 | 
						||
| 
								 | 
							
								            md5.update(data)
							 | 
						||
| 
								 | 
							
								            filenames.append(os.path.split(file)[1])
							 | 
						||
| 
								 | 
							
								            hashes.append(md5.hexdigest())
							 | 
						||
| 
								 | 
							
								            sizes.append(str(len(data)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    print('{:40s}  {:<32s}  {:<9s}'.format('File', 'MD5', 'Size'))
							 | 
						||
| 
								 | 
							
								    for f, h, s in zip(filenames, hashes, sizes):
							 | 
						||
| 
								 | 
							
								        print('{:40s}  {:>32s}  {:>9s}'.format(f, h, s))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if __name__ == "__main__":
							 | 
						||
| 
								 | 
							
								    sys.exit(int(main() or 0))
							 |