def split_number(string):
	"""
	Splits off a number from the end of the string and returns the tuple

	>>> split_number('raw-data.txt-500')
	('raw-data.txt', 500)
	>>> split_number('square-box-square-2.5')
	('square-box-square', 2.5)
	>>> split_number('fred')
	('fred', None)
	>>> split_number('fred-jones')
	('fred-jones', None)
	>>> split_number(0)
	('', 0)
	>>> split_number('0')
	('', 0)
	>>> print(split_number([0]))
	None
	"""
	try:
		parts = string.split('-')
	except AttributeError:
		try:
			string * string
			return ('', string)
		except TypeError:
			return None
	
		
	end = parts[-1]
	if '.' in end:
		try:
			num = float(end)
		except:
			num = None
	else:
		try:
			num = int(end)
		except:
			num = None
	if num is not None:
		parts.pop(-1)
	return ('-'.join(parts), num)