python实现下的四柱八字

计算八字的算法研究

本文用python的代码实现了计算八字,这是自己开发的,开放出来供大家研究学习。
以下也是基于jupyter notebook导出的,所以,保持原样,可读性更高。如果不是技术开发人员阅读可能会有些障碍,不过,那就pass掉代码块就行了。
首先,要想算出准备八字,就要搞清楚临界点的问题。比如,2024年是甲辰,但当输入2024.1.1时,输出却变成了“癸卯甲子甲子甲子”。这是为什么,因为,目前农历(阴历)还未过2023年。所以,在计算时要先把年从阳历转成阴历。
所以,先从这个小算法开始。

from lunardate import LunarDate
from datetime import datetime
def convert_solar_to_lunar(year, month, day):
    solar_date = datetime(year, month, day)
    lunar_date = LunarDate.fromSolarDate(solar_date.year, solar_date.month, solar_date.day)
    return lunar_date
solar_year = 2024
solar_month = 1
solar_day = 1
lunar_date = convert_solar_to_lunar(solar_year, solar_month, solar_day)
print(f"阳历 {solar_year}-{solar_month:02d}-{solar_day:02d} 对应的农历是 {lunar_date.year}年{lunar_date.month}月{lunar_date.day}日")

阳历 2024-01-01 对应的农历是 2023年11月20日

def get_bazi(year, month, day, birth):
    # 首先要年转成阴历,并且只在计算年柱时用阴历
    lunar_date = convert_solar_to_lunar(year, month, day)
    only4y = lunar_date.year
    
    # 计算天干地支纪年法中的年柱
    year柱子 = get_year_column(only4y)
    # 计算天干地支纪年法中的月柱
    month柱子 = get_mon_column(year, month)
    # 计算天干地支纪年法中的日柱
    day柱子 = get_day_column(year, month, day,birth)
    # 计算天干地支纪年法中的时柱
    time柱子 = get_time_column(year, month, day, birth)
    return year柱子 + month柱子 + day柱子 + time柱子
def get_year_column_1(year):
    # 天干地支纪年法中的天干
    tiangan = [ "庚", "辛", "壬", "癸","甲", "乙", "丙", "丁", "戊", "己"]
    # 天干地支纪年法中的地支
    dizhi = ["申", "酉", "戌", "亥","子", "丑", "寅", "卯", "辰", "巳", "午", "未"]
    # 计算天干
    tiangan_index = year % 10
    tiangan = tiangan[tiangan_index]
    # 计算地支
    dizhi_index = year % 12
    dizhi = dizhi[dizhi_index]
    return f"{tiangan}{dizhi}"
def get_year_column(year):
    # 计算天干
    tiangan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    # 计算地支
    dizhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    # 计算天干
    tiangan_index = (year - 4) % 10
    tiangan = tiangan[tiangan_index]
    # 计算地支
    dizhi_index = (year - 4) % 12
    dizhi = dizhi[dizhi_index]
    
    return f"{tiangan}{dizhi}"
def get_mon_column(year, month):
    # 计算天干
    tiangan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    # 计算地支
    dizhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    # 计算天干
    tiangan_index = (year - 4) % 10
    midMonth = tiangan_index * 2 + month
    midMonth = midMonth % 10
    
    # 平闰年校验
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        # print(year, '是闰年')
        if month == 1 or month == 2:
            midMonth = midMonth - 1
            month = month - 1
    tiangan = tiangan[midMonth]
    dizhi = dizhi[month]
    return f"{tiangan}{dizhi}"
def get_day_column(year, month, day, birthtime):
    # 查表
    # 创建一个空字典
    calendar = {}
    # 填充数据
    calendar[1] = "甲子"
    calendar[2] = "乙丑"
    calendar[3] = "丙寅"
    calendar[4] = "丁卯"
    calendar[5] = "戊辰"
    calendar[6] = "己巳"
    calendar[7] = "庚午"
    calendar[8] = "辛未"
    calendar[9] = "壬申"
    calendar[10] = "癸酉"
    calendar[11] = "甲戌"
    calendar[12] = "乙亥"
    calendar[13] = "丙子"
    calendar[14] = "丁丑"
    calendar[15] = "戊寅"
    calendar[16] = "己卯"
    calendar[17] = "庚辰"
    calendar[18] = "辛巳"
    calendar[19] = "壬午"
    calendar[20] = "癸未"
    calendar[21] = "甲申"
    calendar[22] = "乙酉"
    calendar[23] = "丙戌"
    calendar[24] = "丁亥"
    calendar[25] = "戊子"
    calendar[26] = "己丑"
    calendar[27] = "庚寅"
    calendar[28] = "辛卯"
    calendar[29] = "壬辰"
    calendar[30] = "癸巳"
    calendar[31] = "甲午"
    calendar[32] = "乙未"
    calendar[33] = "丙申"
    calendar[34] = "丁酉"
    calendar[35] = "戊戌"
    calendar[36] = "己亥"
    calendar[37] = "庚子"
    calendar[38] = "辛丑"
    calendar[39] = "壬寅"
    calendar[40] = "癸卯"
    calendar[41] = "甲辰"
    calendar[42] = "乙巳"
    calendar[43] = "丙午"
    calendar[44] = "丁未"
    calendar[45] = "戊申"
    calendar[46] = "己酉"
    calendar[47] = "庚戌"
    calendar[48] = "辛亥"
    calendar[49] = "壬子"
    calendar[50] = "癸丑"
    calendar[51] = "甲寅"
    calendar[52] = "乙卯"
    calendar[53] = "丙辰"
    calendar[54] = "丁巳"
    calendar[55] = "戊午"
    calendar[56] = "己未"
    calendar[57] = "庚申"
    calendar[58] = "辛酉"
    calendar[59] = "壬戌"
    calendar[60] = "癸亥"
    dicf2 = {}
    dicf2[18] = 25
    dicf2[19] = 9
    dicf2[20] = 54
    dicf2[21] = 39
    dicmon = {}
    dicmon[1]=1
    dicmon[4]=1
    dicmon[5]=1
    dicmon[3]=0
    dicmon[2]=2
    dicmon[6]=2
    dicmon[7]=2
    dicmon[8]=3
    dicmon[9]=4
    dicmon[10]=4
    dicmon[11]=5
    dicmon[12]=5
    yearfront2 = int(str(year)[:2])
    yearlast2 = int(str(year)[-2:])
    isdoublemonth = 30 if month % 2 == 0 else 0
    # (month/2==0)?0:30
    # 主公式
    ret = yearlast2 * 5 + int(yearlast2/4) + dicf2[yearfront2] + day + isdoublemonth + dicmon[month]
    # 平闰年校验
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        # print(year, '是闰年')
        if month == 1 or month == 2:
            ret = ret - 1
    # else:
        # print(year, '是平年')
    retindex, retyu = divide_remainder(ret, 60)
    if retyu:
        retindex = retyu
    # 计算天干
    # tiangan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    # 计算地支
    # dizhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    # 计算天干
    # tiangan_index = (year - 4) % 10
    # tiangan = tiangan[tiangan_index]
    # 计算地支
    # dizhi_index = (year - 4) % 12
    # dizhi = dizhi[dizhi_index]
    day柱子 = calendar[retindex]
    return f"{day柱子}"
def divide_remainder(num, divisor):
    # 使用 divmod 方法获取整除结果和取余结果
    result, remainder = divmod(num, divisor)
    if remainder:
        return result, remainder
    else:
        return result
def get_time_column(year, month, day, birth):
    # 计算天干
    tiangan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    # 计算地支
    dizhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    hour = None
    # if birth >= 100:
    hour = birth / 100
    # else:
    #     return
    
    if hour > 24:
        return
    # 时地支
    时辰 = None
    if hour < 1:
        时辰 = "子"
        hour_old = 1
    elif hour < 3:
        时辰 = "丑"
        hour_old = 2
    elif hour < 5:
        时辰 = "寅"
        hour_old = 3
    elif hour < 7:
        时辰 = "卯"
        hour_old = 4
    elif hour < 9:
        时辰 = "辰"
        hour_old = 5
    elif hour < 11:
        时辰 = "巳"
        hour_old = 6
    elif hour < 13:
        时辰 = "午"
        hour_old = 7
    elif hour < 15:
        时辰 = "未"
        hour_old = 8
    elif hour < 17:
        时辰 = "申"
        hour_old = 9
    elif hour < 19:
        时辰 = "酉"
        hour_old = 10
    elif hour < 21:
        时辰 = "戌"
        hour_old = 11
    else:
        时辰 = "亥"
        hour_old = 12
    # print(时辰)
    # 时天干
    day_tg = get_day_column(year, month, day, birth)[0]
    hour_tg = None
    if day_tg == '甲' or day_tg == '己':
        hour_index, yu = divide_remainder(hour_old, 10)
        if yu:
            hour_index = yu
        # print(hour_index)
        hour_tg = tiangan[hour_index - 1]
    if day_tg == '乙' or day_tg == '庚':
        hour_index, yu = divide_remainder(hour_old, 10)
        if yu:
            hour_index = yu
        hour_tg = ["丙", "丁", "戊", "己", "庚", "辛", "壬", "癸", "甲", "乙"][hour_index - 1]
    if day_tg == '丙' or day_tg == '辛':
        hour_index, yu = divide_remainder(hour_old, 10)
        if yu:
            hour_index = yu
        hour_tg = ["戊", "己", "庚", "辛", "壬", "癸", "甲", "乙", "丙", "丁"][hour_index - 1]
    if day_tg == '丁' or day_tg == '壬':
        hour_index, yu = divide_remainder(hour_old, 10)
        if yu:
            hour_index = yu
        hour_tg = ["庚", "辛", "壬", "癸", "甲", "乙", "丙", "丁", "戊", "己"][hour_index - 1]
    if day_tg == '戊' or day_tg == '癸':
        hour_index, yu = divide_remainder(hour_old, 10)
        if yu:
            hour_index = yu
        hour_tg = ["壬", "癸", "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛"][hour_index - 1]
    # 计算天干
    tiangan_index = (year - 4) % 10
    tiangan = tiangan[tiangan_index]
    # 计算地支
    dizhi_index = (year - 4) % 12
    dizhi = dizhi[dizhi_index]
    return f"{hour_tg}{时辰}"
print(get_bazi(1980,10,23,2230))

庚申丙戌己巳乙亥

print(get_bazi(2011,4,12,1508))

辛卯壬辰丁酉戊申

print(get_bazi(2024,1,1,0))

癸卯甲子甲子甲子
* * *
### 加入五行映射的算法

def handlwuxingbybazhi(bz):
    print("八字:"+bz+"\n")
    
    ret1 = None
    tgls = {}
    tgls['甲']="阳木"
    tgls['乙']="阴木"
    tgls['丙']="阳火"
    tgls['丁']="阴火"
    tgls['戊']="阳土"
    tgls['己']="阴土"
    tgls['庚']="阳金"
    tgls['辛']="阴金"
    tgls['壬']="阳水"
    tgls['癸']="阴水"
    
    
    dzls = {}
    dzls['子']="阳水"
    dzls['丑']="阴土"
    dzls['寅']="阳木"
    dzls['卯']="阴水"
    dzls['辰']="阳土"
    dzls['巳']="阴火"
    dzls['午']="阳火"
    dzls['未']="阴土"
    dzls['申']="阳金"
    dzls['酉']="阴金"
    dzls['戌']="阳土"
    dzls['亥']="阴水"
        
    
    ret1 = tgls[bz[0]]+","+dzls[bz[1]]+","+tgls[bz[2]]+","+dzls[bz[3]]+","+tgls[bz[4]]+","+dzls[bz[5]]+","+tgls[bz[6]]+","+dzls[bz[7]]
    os = set()
    os.add(tgls[bz[0]][1])
    os.add(dzls[bz[1]][1])
    os.add(tgls[bz[2]][1])
    os.add(dzls[bz[3]][1])
    os.add(tgls[bz[4]][1])
    os.add(dzls[bz[5]][1])
    os.add(tgls[bz[6]][1])
    os.add(dzls[bz[7]][1])
    
    aa=["金","木","水","火","土"]
    for i in os:
        aa.remove(i)
    
    print("五行:"+tgls[bz[4]][1]+"命")
    print("五行缺:")
        
    print(aa)
    return f"{ret1}"

应用示例

print(handlwuxingbybazhi(get_bazi(2017,2,6,1130)))

八字:丁酉壬寅甲子庚午
    
    五行:木命
    五行缺:
    [‘土’]
    阴火,阴金,阳水,阳木,阳木,阳水,阳金,阳火

print(get_bazi(2024,1,1,0))

癸卯甲子甲子甲子



	

闲话-老子相关的三本书

《帛书》老子甲/乙本,是更加久远的原味老子书。甲本早于乙本,乙本又早于道德经。

我先抛出答案,再解释原因。

所以,我们现在升维了,《道德经》是春秋末期成书。而老子《帛书》成书于太古时期。至于甲本早还是乙本更早呢? 文章最后揭晓答案。

论点

  • 道德经对母性的推崇不用例举。而太古时期正是母系氏族时期。全书之义,女权优于男权。

  • 帛书甲乙本中,“道可道 ,非恒道”,而道德经中用“非常道”。这种差异的原因是什么?因为,“恒”字碰了讳,有位皇帝名字中有恒,那么后世要改字。那么这个皇帝的时代就可以界分出甲乙本的年代。而这位皇帝正是汉孝文帝刘恒。所以,乙本在西汉前。同理,甲乙本不用“国”代替“邦”,即不避刘邦的讳。那么甲乙本就定位在先秦了。

  • 有人考证老子生于公元前570年左右,也就是比孔子年长20岁左右。为什么,又怎么可能跑到太古时代去著书呢?下凡的神人也好,得道长生、穿越也罢,总之,我们不去唯心主义论。事实上,老子是周朝的文化部长,负责收集整理当时可见的所有文字作品。同时,也掌管国家图书馆。于是,我们可以大胆的推断,老子发现太古文字,修改发扬著了帛书甲本,由于文字过于晦涩,在乙本中做了一定的优化,加强可读性。而到春秋以后,有更多人在借用老子的原著来发布新的《道德经》。

  • 有四个人与道德经关系密切。《河上公章句》–河上公。《道德真经指归》–严遵。《道德经注》–王弼。《道德经古木篇》–傅奕。这四位不同朝代的人都先后注释过,所以,也产出了一个通行本。

  • 在甲乙本中,“多闻数穷”,而在现在的《道德经》中却写着“多言数穷”。这恐怕是一个硬伤了。王弼的注释中,也在使用“多言”。这明显在曲解老子之意。而后世之皇帝或者儒生都为了统治方便而改经书。这也是王东岳所说的文化“层累”现象。关于是“闻”是“言”的辩论很多了,但这也好推敲出来。因为,看过甲乙本,就知道了,老子之意是“多闻数穷”。但为什么应该是“多闻”而非“多言”呢?因为,上正文中有提过“囊橐”,也就是风箱。那么大家再去看看风箱的原理和草图。多个进风口,并且风箱的使用就是在“守中”。多闻,然也。

小结

先圣的绝学是共同财富,我们有权加上自己的理解。但也要尊重历史。因为,看似只是几个字的差异,却可以影响出很多价值观的“偏差分支”。严谨是必要的。尤其是文化学者。而我们一介草夫,也只是感觉想吃原汁原味的东东。君不见,宋朝后的文人误国有多严重。所以,大家有必要再寻到根再汲取真正的“国学营养”。

繁城之下—两个认贼做父的少年

如果一句话证明你看过整剧,那么一定是:

公道是条绕远的道。而我也自创了一句炒作的概括:

两个认贼做父的少年成长故事。

注意,好文章也是一篇长的文字。

一个叫花子的逆袭

整部戏事实上很难说陆直是男一号还是曲三更。陆直原本善良,被陆远暴收养后一心待主。只是他的两人是一对从良土匪的主仆。所谓,”白沙在涅,与之俱黑“。而且这个干少爷成长起来后,黑出于黑,而黑过黑。

第一次成长是陆远暴的当众羞辱。强制磕头,随便认爹,这谁受的了。忠爷便利用了陆直这颗仇恨的”种子“。事实上,当陆家老二来投奔时,这颗种子有着一定的阳光照射。因为毕竟,陆远暴家不是没有子嗣的。那陆远暴只把自己当一个狗奴才,是合理的。而且如果再计划杀陆,又添了许多不忍心。这时,想借刀杀人的陆忠便坐不住了。

第二次成长机会,就是当放火烧陆家后,趁乱杀了陆忠。事实上,这便是陆直的成年礼。学成归来,灭亡老师。陆忠以前自己培养出来的陆直还是那个孩子,可以被控制。是自己扶植的又一个傀儡。为什么说是傀儡。因为,陆忠一直装哑巴。同时,哑巴也是他最好的掩护。这样,陆远暴可以接纳他。当然,如果陆直把自己当师父,也可能一起分享陆的财富或说是那部分公开的。陆忠的小金库并未告诉陆直的暗杀团队。所以,陆忠死前以为,是自己没有告诉陆直自己的金库,是陆直杀他的直接原因。但他们都小看陆直了。于是,小叫花子再次尝试改命。所以,当结尾,大家猜小宝子(知县)到底和陆直说了什么时,就容易理解。他们的对话是这样的。

小宝子说:

可能A:你真不应该杀了陆忠。

可能B:陆忠是真把你当儿子的。

最可能C:你不应该教陆忠识字,他的日记里写着你的罪恶。

然后,陆直说:

我就是要改命嘛。(同时拿刀刺死了小宝子)

小宝子,就是小乌龟,二十年后的县令。有人说他是陆不忧。

那是岳铁嘴给误倒的。算命的看到了小宝子伪造的”断眉“,以为县令是陆家二少爷。

还一条佐证,在那个藏头诗中,说的事全是与陆不忧相关的。而且,如果他认出是小宝子,又能有啥理由去提供线索拿千两银子呢。王夫子的死更说明县令就是小宝子,要知道,为他偷笔的好兄弟误死于王夫子的铜戒尺。而仅是仿写个陆远暴的笔迹,却是罪不致死的。而冷捕头和程医生才是都是陆家灭门的主要因素。

也是就是那场大火之后,陆直这只“恶龙”黑化的彻底了。首先,他们暗杀团队明明可以装做救火,却让暗杀团队等着更夫来。因为,更夫,也就是曲三更的父亲,也是他的棋子。冷无疾来了,看到了更夫的诧异,为何一帮人看着火却不去施救?于是,下了手杀更夫灭口。同时,陆直也按住柳十七,不让其对更夫灭口而借冷的手。于是陆直的暗杀团队,多了一个手沾上血的冷捕头。当然,在放火前,让陈旺等所有人去给中药睡觉的陆家人杀死,就是让大家“投名状”。当然,张贵和柳十七就是杀手出身。但陈旺和尤二,却有不同的困难。于是陈旺便掉了链子。没有下手去杀陆不忧。结果留下了未来的隐患。

陈旺,虽然是个赌徒,也是个小人,但心底仍有些良知和义气。无耐智商并不在线。他和尤二的死都是必然的。但尤二虽是个厨子,但是事故。吃饭中听到杀陆远暴的计划。与其日后被算账,不如主动入伙。还能分些钱。最后,自己如愿当上了老板。但陈旺,在得了钱后,依然称要养老母,不离开镇子避风头。而且还挥霍钱财,这明显触犯了团队利益。成为暗杀团队第一个下线的,河中之鬼。

曲三更的公道

那场大火的发现者,也就是曲三更的父亲。在陆直的阴谋下,被冷捕头只好杀了。同时,这个捕头也就对曲三更一家抱有了很深的歉意。在后面一直照顾着我们主角。可谓是形同父子了。事实上,第二集,林美女就已经把曲三更师傅被杀的线索告诉了曲三更。因为,林虽然是冷的相好,但是依然在陆直的监控中。这也是她最后被杀的原因。那个青楼的老板就是陆直,也就是薛举人。所以。当林姑娘把首饰给三更让其给遗孤时,让三更说是薛举人的家里人欠他师傅的。这样便可让冷家收下妇人的首饰了。当时,三更就应该查一查薛举人这条线。所以说,这部电视剧的细节拉满,绝对精品。

曲三更的父亲没了,感情就完全倾注在自己的师傅身上。而冷捕头也是一种赎罪的心理。所以,认贼作父亲是被动的。而对比于陆直认陆忠为爹时,是一种计谋。也可以说是求生的本能吧。是一种主动行为。是伪装。所以,后面杀陆忠时,陆忠并无任何的防备。作为一个江湖高手栽了,原因就是陆忠太信任陆直了。陆直教了他识字,他给了陆直生的希望。但两者之间,也只是瞬间的温情。大家都是千年的狐狸,都不用话聊斋的。都想利用对方而已。文化人拿起刀才是最狠的。

剧情到了后期,主角的风光基本上被县令和陆直盖住了。甚至是宋辰。因为,公道这两个字,需要计谋,权力,牺牲。而曲三更是见证者。他没有能听到林妈妈的直接口供。所以,他的报仇对象是谁,有点茫然。一切的经过,可能只有县令的后手中才可以昭雪。县令用鱼死网破的目的,写好了遗书。同时主动靠近杀手以及陆直。这样,只要陆直出手,不用证据即可将最后一个大鱼收网。完成了自己的公道。还救命恩人陆无忧,陆家一个公道。

曲三更面对陆直时,并不存在直接仇恨。因为,陆直知道自己没有杀三更的父亲,也没有杀同党冷捕头。这一点,学忠叔学的完美。夺财没有官司,杀人没有证据。

这部戏的主旋律,就是公道。你可以看到捕头不像捕头,勾结黑道,出轨。医生不像医生,主动害人出毒药方子。老师不像老师,体罚学生,没有勇气承认错误。这不像其出现在的社会吗?

国学的经典却是负能量中的一抹清流。小宝子拿到金块做的论语,践行了道义。三个年轻人对着孔子像忏悔。这些是导演的救赎,是我最喜欢这部戏的理由。

中东冲突-没有无怨无故的恨

世间是有无怨无故的爱的,那便是善良。它既不是国际舆论和媒体报道的善良,也不是放下屠刀。

而是采(损)有余而补不足的“天道”。受尽苦难的民族终究拿起了枪,有了地盘。然而,应该知足长足,知止不殆。

犹太人是聪明的吗?当然智商是绝对高,但情商呢?

曾经的受害人,变成侵害者,或者又变成受害者,那都不重要,因为,你仍处于“害”的旋涡。

不管你手上的血是自己的还是别人的。

中国围棋的好徒弟,截断对手的大龙,然后分而治之,再隔断,灭其气。

如果你不知道我在说什么,那就去看中东的地图吧。二十年的对比。巴和以打一架少一圈土地。为什么对华沙敌对而对东部友善?

因为,华沙没有再缩小和分拆了。

巴的儿童锐减,十年后,打仗的胜率没有,白奴的时代就不是油画作品了。那么清醒的巴人,又怎么会让以的女人可以孕育呢?

谁都有弱小,再让道德经的话来共勉吧,谁的集团中都有弱小,妇女和儿童做出着最大的牺牲。人性泯灭之时,心灵就会释放出野兽!

知其雄,守其雌。

为中东的亡魂悼思,为那里的人民祈福。在此时此刻,阳光明媚,但有人在嘶叫,绝望和哀嚎……

感谢圣贤,早早确定了中华民族的正确的价值观,用东方智慧引导着文明复兴。

感谢毛主席,给中国没有强敌的外围。

感谢佛教,不伤害人且没有等差的爱,温暖和治愈着世人。

基督教的上帝今晚无眠!

兄弟无间

这条线是相当重要的,几乎是大厦之地基,帝国之鼎器。

在清末的官场中立足相当困难,看过刺马案或者看过投名状的小伙伴一定有感触了。主战派,主和派,维新派,光绪派,慈禧派。

晚清四大名臣:曾国藩,左宗棠,李鸿章,张之洞。

此为说法一,说法二 曾国藩、左宗棠、胡林翼、彭玉麟。

前两个都称得上是乱世出枭雄。当然,太平盛世也轮不到他们的布衣出身。一个笨的可以,曾公七次才考上了秀才,左公三试不第,这种出身到最后也能入阁拜相,实属乱世所赐。而后两位就算得上学院派的,都喝过洋墨水,面儿上人,都是非内战出名,主打外交和建设。下一篇专门讲曾和左的佚事一二。

回头说,两位打硬仗的硬汉或说是老炮儿。他们都要依靠兄弟。当然,有血脉相通的仅有曾公。左公的兄弟,不用介绍,胡雪岩,红顶商人。经济专家。但后来如何了?胡被皇帝抄家时,左公却不知所踪。是避谦,是有意?打人先打狗。想弄左宗棠先拆了胡雪岩。对比之下,这里就不及曾国藩与曾国荃了。多少人想着离间,厚黑这两位兄弟。处处凶险。

国荃莽撞有余而智略不足,当初,要不是曾公劝他多读书,要顶住压力不要南归。曾国荃也就是湖南田间一伢儿子。

此处就显示出血脉相连,而且还亲密无间的“家族优势”,要比左公的“集团优势”更加稳固。我们慢慢道来吧!

劝诫读书

曾公在家书中最多的就是劝学。四弟,九弟要经常写文章传阅给曾国藩和其父,由他们来审读,并给予评价,家族男丁视考取功名为第一要务。

端正思想

不知道曾国荃在北京的各种不适,除身体外,是否有官场外人排挤和煽风。想必更多是一种对兄长曾国藩的一种“不服气”。可以理解为青春期的叛逆吧。

当时,湖南来的京官,都是弱势群体。人数少而且没有上应。在官阶的低层,俸禄自然不够养家,书信在道光二十年左右,老家的债务算刚结算清了。曾国荃也可能是感觉到混下去没的意义了。自己又三天两头闹头痛脑热的水士不服。这种情况下,曾国藩真是感受到了一种孤独。且看摘录如图:

好个兄弟匪他人,唯兽有狼狈。贬义?用在这里全是合理和完美。

让我这个独生子女,羡慕不已呀。

曾的九弟一直“事史随行”,戎马征战。直至剿灭了太平天国,官至总督。四弟持家有道。六弟曾国华战死,曾国葆也是一代名官。所以,又摘录了家书的与兄弟诗句。

读家书,开始信的称谓是一长串的兄弟名,从给四,五个兄弟写信,到最后只能给九弟,子植写信。你能感受到新人离世的过程。国化战死,季弟病死……长串一点点变短。

曾左不和

晚清中兴的两位重臣一定是曾国藩和左宗棠。四名臣说法虽多,但有两个名字是必须的。就是本文主要聊的曾国藩和左宗棠。但两者同朝为官却相处不甚融洽。

开始的开始,是手下幕僚间互相攻击,口诛笔伐。

因为,两位的战场定位不同,一个是攘内,一个是征外。

但最后的最后,是同心若金,攻错若石,一句晚生左宗棠,在挽联中吐真言。

曾国藩去世时,左宗棠正在新疆为国打仗,但立刻书信派自己在京考试的儿子,拿着银子和挽联去送曾公最后一程。

大臣们都是有点性格的。有刘罗锅和纪晓岚就有和珅。对立阴阳。互相谁也不服气。同室操戈,面和心不和,让后世人说甚龙争虎斗。但事实上,曾和左都是死在任上,为国居功至伟,直至忠死,曾公62,左公73。

两个的共同点还包括:

湖南老乡,且都领导过湘军,打仗勇猛,长寿(以当时人平均寿命来看),仕途都曾遇到伯乐,但读书都开窍较晚。有林则徐的新疆情报和地图,有陶铸的力挺,左才破格录用。至于曾国藩也要感谢他的伯乐胡林翼。湘军正是在两个人的合作中诞生的。

如果说他们愚钝之才也是共同点,可能大家会有意见。那看数据喽。

曾国藩考秀才7次,左考3次。曾麟书(曾的父亲)更是考了17次。

当然不同点也多:

对考取功名的态度,曾公是用力极深呀,家书中没有一篇提到过科举的不好。而左公早早看透了八股文就是在浪费生命,读书是素养,功名则可遇不可求。

在新疆问题上,曾主张和,而左主张打。民族气节方面左公略胜一筹。曾公内战内行,左公外战威武。

打仗一个擅长“结硬寨,打呆仗”的攻坚战,一个擅长野外游击,左公在新疆和西北都是战神。左公带着棺材打仗,曾公带着亲兄弟战斗。

无论是出于自上而下的平衡还是出于自下而上的表演。

敲黑板,划重点。能听懂刚才那句话的都是人精了。试想难道慈禧想看到功臣们不争风吃醋?为人臣者,位高权重者,最担心的又是什么?没有敌手或者敌人隐藏于黑暗中。所以,曾与左,实在是高明。江湖不是打打杀杀而是人情世故。

这两位能成为一代名臣,民族英雄,一定是实力大于脾气的。在官场博弈中,不会发生逞匹夫之勇,口舌之快而露出明显的破绽。而斗的凶的是手下的二级人物。李鸿章是年龄小于曾公和左公的。由于和曾公是师徒关系,所以,自然站队到曾公门下,看不上左公的诸多行为。

相同的价值观

这事实也是共同点,只是这个共同点太重要了。所以单独立出来。

左宗棠给过挽联前,在一次家宴中与曾国藩写了12个字。也是现代企业家曹德旺办公室挂了多年的座右铭。

敬胜怠,义胜欲,知其雄,守其雌。

释义大略:

做人要有敬畏之心,不能怠工,怠慢。敬胜怠者昌。义胜欲者从,用义来控制欲望,也就是反人性,有人跟随,才能领导别人。

同朝为官,两公都是实力大于脾气的。

前言中讲的,曾国藩有十二日课。第一课便是主敬。所以,两位用兵如神的人,对待做事,做人唯一个“敬”字当头。

拙诚劳谦

这四个字可以高度概括,曾国藩的崛起原因。

拙与诚

不用说他的笨,有个小故事大家听过。说有人来曾国藩家里做客,在门外等候。门里的曾国藩在背诵诗书。背诵后再会客。结果,门外的客人都背诵下来。可曾国藩还没有背成。

他的同僚们更是天天鄙视他,嘲笑他笨。打仗也慢,人家夺城,他修战壕;人家抢功,他写报告。而且报告全篇不自夸一句,全是圣上英明。但这不是诚实,是幕僚的智慧。

诚实,体现在与朋友交往。也体现在日志中记录着自己的诸多糗事。对自己的诚实,才是真正的诚。别人纳了小妾。自己馋,回头又说自己不是个人,如禽兽也。自己审视自己,内省慎独。这是圣人的修炼之路。

劳与谦

即使不自夸,但是战功赫赫也是让慈禧担忧。于是派马新贻空降湘军,结果被刺杀。无耐,慈禧又派曾国藩去查此案件。凶手倒不跑,声称与别人没关系,纯私人恩仇。

曾公深知,太平天国已没,自己又手握重兵,长江以南的大批干部又是自己的举荐和培养。实在是风头盛呀。于是,要求了裁湘军。但是一旦没有了枪杆子,不就是被人搞死的节奏嘛?

但是,自己的培养的干部,可以出师了。为首正是名门之后,李鸿章。根红苗正不说,而且,组建淮军以平新叛乱。捻军也不好打。曾国藩这时没有拥兵自重。把湘军的精锐全都给了李。为了这事,几乎和九弟闹掰了。当时,李鸿章才1500人,曾国藩的这份雪中送碳,让淮军有了政治的种子。这合理合法,而且依然控制着“国家神经”。试问大清谁敢动曾李?

谦虚的另一种体现也可以说是世故。拿下了太平天国不代表可以弹劾督军了,这一点,曾国荃就不如他哥的觉悟了。家书还是到的慢了,估计曾国荃也看了他哥的劝罢书信,但依然要逞勇上书告状,终于吐了官文腐败厚黑的这口气。官文是何许人也,是督军,是八旗子弟,是曾国蕃家书中说的“巨室”。

所以,曾国藩劝弟不要动干戈。慈禧正愁没有机会来削弱曾家的力量呢。谦虚的结果是曾国藩息事宁人没事,而国荃提的官文的十条罪状之后,政府迫于面子,让官文免官了,可几年后,官文又是当上了总督,继续管着曾国荃。人家能继续当官,而骄傲的曾国荃却终于领到了“学费”,革职回家种田了。

要不是曾国藩一直以来,以谦为上。他的九弟早就把恶念变恶果了,败了兄弟的基业。攻下了南京,曾国荃答应将士可以烧杀抢掠。抄了太平天国的家,却打算着抢占财富。为官之道这件事,真不是学来了。师傅已经领进门了,但修行还是要看个人呀。悟性才是众人的短板,牛人的强项。

前言

大家都知道中国历史千年,只出了两个半圣人。

孔子和王阳明,猜的出来。但半圣则为本文集的主角—曾国藩,谥号是曾文正公。能被称为文正的,一定是家国之楷模。他卒年62岁,当时在高位,突发脑溢血,在45分钟内就去世了。

孔子的儒学,阳明心学,都是系统的哲学。而曾公和王阳明类似也是文官操武,救国平乱。但曾又不同于前两者,有着一定的书籍传世。但这不妨碍我们通过书信,或者说家书来走近这位清末的“半圣”。

曾文正公家书,是一部由后人整理的曾国藩与家人往来的书信。本人边读边笔记,用心感受这个更接地气的哲学家。

由于,曾国藩家书的世面版本也较多。本人阅读版本,即李鸿章和李瀚章两兄弟校勘的,由线装书局出版的。边读边记录,这样把曾国藩家书的干货列出来,大家可根据结构再丰富血肉。

家谱

一般来说,私人的书信往来,一定要厘清人物关系。不然读起来生涩。但曾家的人物都可不是无名之辈。他的九弟曾国荃是绞灭太平天国的功臣。他的儿子是著名的外交家。朋友和幕僚就不必多说,虽未体现在家谱图中,但都是往来无白丁。

如图:

诗词

我把书信中的诗词摘录了一下,并自己来用软笔写成书法。

一为效法曾公的修身一二,自己练字;二为真正的体会和学习。

曾公练字,写文学,下的功夫是几十年如一的。有些人可能读过他的《日课十二》

他给自己列了十二条铁律和规矩。这也会在他的书信中经常体现。

本人在读书时,也做了首诗来枉评曾公。抛砖引玉。

如图二张:

日课十二

主敬

敬胜怠,义胜欲。这是左宗棠写给曾国藩的字。当然那是后来,但曾年轻时就已经有此觉悟了。

静坐

曾对浮躁的人一眼就看得出。他的识人术是千古出名的。常用办法是约一批干部见面,然后失约,隔着帘子偷偷观察他们。然后给出的结论,谁为人中龙,历史自有证明。

早起

坚持才是重点。古人言:早起三光,晚起三慌。湘军每日晨练,少一人不请假,便不开饭。李鸿章想睡个懒觉,曾国藩揩全体将官在饭堂坐等,人到方开饭。这种压力,你敢迟到吗?你敢晚起吗?

精读

曾国藩在读一本书时,不读完是绝不会再看其它书的。叮嘱其四,六,九弟的书信中更是多次强调。

读史

曾国藩让他的弟弟和自己的儿子读《论语》,读《史记》

守本

从曾国荃弹劾官文这件事上,看的最清楚。他明白自己的地位,即便是功臣。同时,与左宗棠的几次沟通也是没有官架子。还有,在家书中,曾已经是官至二品了,但依然,对老家的父母去省官厅严厉禁止。即不让家人为乡亲告状代言,也要提醒他们要避谦。

谨言

事实上,家书中曾国藩是何等的敢说话呀。兄弟任何的懈怠于功课,就直言批评。同时很多都是对周边人员的褒贬点评。但真正的与人交往过程中,却是很得分寸。考察干部时,全是在鼓励别人说话,而自己在听。

养气

一日读书十页,习字百个。不要一时之快来纵欲。交的朋友全是良师。无聊的社交早早推脱。年轻时,曾喜欢吸湖南老家产的土烟。很大的瘾。日记里提过多次,决心要戒烟。最终用了十年,才彻底的完成目标。

保身

这块在家书中体现不多,但由于曾公有藓病。平时对自己卫生很下功夫。饮食和中医都有专门负责。事实上,在打仗军营中,纳了个小妾是为照顾自己的皮肤病。可是,军中良友以为曾国藩是沉迷女色,乱军心,誓言要杀小妾而激励其上进。这又是一段佚事。

作字

临帖百家,四个兄弟,天天互相评论写字。其中九弟最好,四弟最差。雷打不动每天百字。对此,本人也开始练,效仿。采购了一些种类的笔:钢笔式毛笔,科学毛笔,秀丽笔,便携毛笔。但坚持很难。

夜闭

这个也是修正了曾自己的一些坏老毛病。以前,年轻时,喜欢到处溜达。看别人家小妾美,就去喝花酒。自己把这些风流事写到日志中,是可笑,也是对自己的真实。