精华内容
下载资源
问答
  • 编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。目标能识别变量,数字,运算符,界符和关键字,用excel表打印出来。有了目标,想想要怎么实现词法分析器。1.先进行预处理,把注释,多余的...

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。

    目标

    能识别出变量,数字,运算符,界符和关键字,用excel表打印出来。

    有了目标,想想要怎么实现词法分析器。

    1.先进行预处理,把注释,多余的空格,空行去掉。

    2.一行一行扫描,行里逐字扫描,把界符和运算符当做分割符,遇到就先停下开始判断。

    若是以 英文字母、$、下划线开头,则可能是变量和关键字,在判断是关键字还是变量。

    若是数字开头,则判断下一位是不是也是数字,直到遇到非数字停止,在把数字取出来。

    再来判断分割符是什么类型,是界符还是运算符。

    在给不同词添加上识别码

    在用excel表打印出来。

    代码实现

    1. 用列表创建一个关键字表,java关键字有50个。

    #保留字

    key_word = ['abstract','assert','boolean','break','byte',

    'case','catch','char','class','const',

    'continue','default','do','double','else',

    'enum','extends','final','finally','float',

    'for','goto','if','implements','import',

    'instanceof','int','interface','long','native',

    'new','package','private','protected','public',

    'return','short','static','strictfp','super',

    'switch','synchronized','this','throw','throws',

    'transient','try','void','volatile','while']

    2.用列表创建一个运算符表。

    #运算符

    operator = ['+','-','*','/','%','++','--','+=','-=','+=','/=',#算术运算符

    '==','!=','>','=','<=',#关系运算符

    '&','|','^','~','<>','>>>',#位运算符

    '&&','||','!',#逻辑运算符

    '=','+=','-=','*=','/=','%=','<<=','>>=','&=','^=','|=',#赋值运算符

    '?:']#条件运算符

    3. 用列表创建一个界符表。

    #界符

    delimiters = ['{','}','[',']','(',')','.',',',':',';']

    4.预处理

    用正则表达式把注释去掉,在把多余的空行去掉

    #预处理

    def filterResource(file,new_file):

    f2 = open(new_file,'w+')

    txt = ''.join(open(file,'r').readlines())

    deal_txt = re.sub(r'\/\*[\s\S]*\*\/|\/\/.*','',txt)

    for line in deal_txt.split('\n'):

    line = line.strip()

    line = line.replace('\\t','')

    line = line.replace('\\n','')

    if not line:

    continue

    else:

    f2.write(line+'\n')

    f2.close()

    return sys.path[0]+'\\'+ new_file

    5.逐行扫描

    按照刚刚的思路进行判断,把每一行的单词,添加到word_line列表中,最后在把每一行添加到token列表中。

    def Scan(file):

    lines = open(file,'r').readlines()

    for line in lines:

    word = ''

    word_line = []

    i = 0

    while i

    word +=line[i]

    if line[i]==' ' or line[i] in delimiters or line[i] in operator:

    if word[0].isalpha() or word[0]=='$' or word[0]=='_':

    word = word[:-1]

    if searchReserve(word):

    # 保留字

    word_line.append({word[:-1]:key_word.index(word)})

    else:

    # 标识符

    identifier.append({word:-2})

    word_line.append({word:-2})

    # 常数

    elif word[:-1].isdigit():

    word_line.append({word:-1})

    #else:

    #error_word.append(word)

    # 字符是界符

    if line[i] in delimiters:

    word_line.append({line[i]:len(key_word)+delimiters.index(line[i])})

    # 字符是运算符

    elif line[i] in operator:

    s = line[i] +line[i+1]

    if s in operator:

    word_line.append({s:len(key_word)+len(delimiters)+operator.index(s)})

    i +=1

    else:

    word_line.append({line[i]:len(key_word)+len(delimiters)+operator.index(line[i])})

    word = ''

    i+=1

    token.append(word_line)

    6.根据单词返回是什么类型

    按照保留字--界符--运算符--常数的顺序来当识别码。常数识别码是-1,标识符识别码是-2

    def check(number):

    hanzi = ''

    q = len(key_word)

    w = len(delimiters)

    e = len(operator)

    if 0

    hanzi = '保留字'

    elif q

    hanzi = '界符'

    elif q+w

    hanzi = '运算符'

    elif number == -1:

    hanzi ='常数'

    elif number == -2:

    hanzi ='标识符'

    return hanzi

    7. 用thinker写一个简单的界面

    导入

    from tkinter import *

    from tkinter.filedialog import askdirectory,askopenfilename

    root = Tk()

    root.title('词法分析')

    root.resizable(0, 0)

    path = StringVar()

    Label(root,text = "目标路径:").grid(row = 0, column = 0)

    Entry(root, textvariable = path).grid(row = 0, column = 1)

    Button(root, text = "路径选择", command = openfiles).grid(row = 0, column = 2)

    Button(root,text='词法分析',command= open_excel).grid(row = 0,column = 3)

    root.mainloop()

    打开文件

    def openfiles():

    fname = askopenfilename(title='打开文件', filetypes=[('All Files', '*')])

    path.set(fname)

    简单的界面

    8.导入到excel表中

    需要安装包xwings

    pip install xwings

    导入

    import xlwings as xw

    把token里的单词,按照 单词 ---- 识别码 ---类型 打印到excel表中

    def open_excel():

    # 预处理

    row,col=0,0

    if path.get()!='':

    txt = java_analysis.filterResource(path.get(),new_file)

    print(txt)

    #扫描

    java_analysis.Scan(txt)

    app = xw.App(visible=True,add_book=False)

    wb =app.books.open(sys.path[0]+'\\'+'test.xlsx')

    sheet = wb.sheets.active

    sheet.clear()

    print(java_analysis.token)

    for i in range(len(java_analysis.token)):

    sheet[row,0].value = '第'+str(i+1)+'行'

    row +=1

    for word in java_analysis.token[i]:

    for k,w in word.items():

    sheet[row,3].value = k

    sheet[row,5].value = w

    sheet[row,7].value = java_analysis.check(w)

    row +=1

    sheet.autofit()#整个sheet自动调整

    #wb.save()

    最后就像这样

    效果

    代码很烂,不过也算是大致明白词法分析器了。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: 如何用python写一个简单的词法分析器

    本文地址: http://www.cppcns.com/jiaoben/python/247790.html

    展开全文
  • 编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。 目标 能识别变量,数字,运算符,界符和关键字,用excel表打印出来。 有了目标,想想要怎么实现词法分析器。 1.先进行预处理,把注释,多余...
  • 编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。目标能识别变量,数字,运算符,界符和关键字,用excel表打印出来。有了目标,想想要怎么实现词法分析器。1.先进行预处理,把注释,多余的...

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。

    目标

    能识别出变量,数字,运算符,界符和关键字,用excel表打印出来。

    有了目标,想想要怎么实现词法分析器。

    1.先进行预处理,把注释,多余的空格,空行去掉。

    2.一行一行扫描,行里逐字扫描,把界符和运算符当做分割符,遇到就先停下开始判断。

    若是以 英文字母、$、下划线开头,则可能是变量和关键字,在判断是关键字还是变量。

    若是数字开头,则判断下一位是不是也是数字,直到遇到非数字停止,在把数字取出来。

    再来判断分割符是什么类型,是界符还是运算符。

    在给不同词添加上识别码

    在用excel表打印出来。

    代码实现

    1. 用列表创建一个关键字表,java关键字有50个。

    #保留字

    key_word = ['abstract','assert','boolean','break','byte',

    'case','catch','char','class','const',

    'continue','default','do','double','else',

    'enum','extends','final','finally','float',

    'for','goto','if','implements','import',

    'instanceof','int','interface','long','native',

    'new','package','private','protected','public',

    'return','short','static','strictfp','super',

    'switch','synchronized','this','throw','throws',

    'transient','try','void','volatile','while']

    2.用列表创建一个运算符表。

    #运算符

    operator = ['+','-','*','/','%','++','--','+=','-=','+=','/=',#算术运算符

    '==','!=','>','=','<=',#关系运算符

    '&','|','^','~','<>','>>>',#位运算符

    '&&','||','!',#逻辑运算符

    '=','+=','-=','*=','/=','%=','<<=','>>=','&=','^=','|=',#赋值运算符

    '?:']#条件运算符

    3. 用列表创建一个界符表。

    #界符

    delimiters = ['{','}','[',']','(',')','.',',',':',';']

    4.预处理

    用正则表达式把注释去掉,在把多余的空行去掉

    #预处理

    def filterresource(file,new_file):

    f2 = open(new_file,'w+')

    txt = ''.join(open(file,'r').readlines())

    deal_txt = re.sub(r'\/\*[\s\s]*\*\/|\/\/.*','',txt)

    for line in deal_txt.split('\n'):

    line = line.strip()

    line = line.replace('\\t','')

    line = line.replace('\\n','')

    if not line:

    continue

    else:

    f2.write(line+'\n')

    f2.close()

    return sys.path[0]+'\\'+ new_file

    5.逐行扫描

    按照刚刚的思路进行判断,把每一行的单词,添加到word_line列表中,最后在把每一行添加到token列表中。

    def scan(file):

    lines = open(file,'r').readlines()

    for line in lines:

    word = ''

    word_line = []

    i = 0

    while i

    word +=line[i]

    if line[i]==' ' or line[i] in delimiters or line[i] in operator:

    if word[0].isalpha() or word[0]=='$' or word[0]=='_':

    word = word[:-1]

    if searchreserve(word):

    # 保留字

    word_line.append({word[:-1]:key_word.index(word)})

    else:

    # 标识符

    identifier.append({word:-2})

    word_line.append({word:-2})

    # 常数

    elif word[:-1].isdigit():

    word_line.append({word:-1})

    #else:

    #error_word.append(word)

    # 字符是界符

    if line[i] in delimiters:

    word_line.append({line[i]:len(key_word)+delimiters.index(line[i])})

    # 字符是运算符

    elif line[i] in operator:

    s = line[i] +line[i+1]

    if s in operator:

    word_line.append({s:len(key_word)+len(delimiters)+operator.index(s)})

    i +=1

    else:

    word_line.append({line[i]:len(key_word)+len(delimiters)+operator.index(line[i])})

    word = ''

    i+=1

    token.append(word_line)

    6.根据单词返回是什么类型

    按照保留字--界符--运算符--常数的顺序来当识别码。常数识别码是-1,标识符识别码是-2

    def check(number):

    hanzi = ''

    q = len(key_word)

    w = len(delimiters)

    e = len(operator)

    if 0

    hanzi = '保留字'

    elif q

    hanzi = '界符'

    elif q+w

    hanzi = '运算符'

    elif number == -1:

    hanzi ='常数'

    elif number == -2:

    hanzi ='标识符'

    return hanzi

    7. 用thinker写一个简单的界面

    导入

    from tkinter import *

    from tkinter.filedialog import askdirectory,askopenfilename

    root = tk()

    root.title('词法分析')

    root.resizable(0, 0)

    path = stringvar()

    label(root,text = "目标路径:").grid(row = 0, column = 0)

    entry(root, textvariable = path).grid(row = 0, column = 1)

    button(root, text = "路径选择", command = openfiles).grid(row = 0, column = 2)

    button(root,text='词法分析',command= open_excel).grid(row = 0,column = 3)

    root.mainloop()

    打开文件

    def openfiles():

    fname = askopenfilename(title='打开文件', filetypes=[('all files', '*')])

    path.set(fname)

    简单的界面

    8.导入到excel表中

    需要安装包xwings

    pip install xwings

    导入

    import xlwings as xw

    把token里的单词,按照 单词 ---- 识别码 ---类型 打印到excel表中

    def open_excel():

    # 预处理

    row,col=0,0

    if path.get()!='':

    txt = java_analysis.filterresource(path.get(),new_file)

    print(txt)

    #扫描

    java_analysis.scan(txt)

    app = xw.app(visible=true,add_book=false)

    wb =app.books.open(sys.path[0]+'\\'+'test.xlsx')

    sheet = wb.sheets.active

    sheet.clear()

    print(java_analysis.token)

    for i in range(len(java_analysis.token)):

    sheet[row,0].value = '第'+str(i+1)+'行'

    row +=1

    for word in java_analysis.token[i]:

    for k,w in word.items():

    sheet[row,3].value = k

    sheet[row,5].value = w

    sheet[row,7].value = java_analysis.check(w)

    row +=1

    sheet.autofit()#整个sheet自动调整

    #wb.save()

    最后就像这样

    效果

    代码很烂,不过也算是大致明白词法分析器了。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • 编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。目标能识别变量,数字,运算符,界符和关键字,用excel表打印出来。有了目标,想想要怎么实现词法分析器。1.先进行预处理,把注释,多余的...

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个。

    目标

    能识别出变量,数字,运算符,界符和关键字,用excel表打印出来。

    有了目标,想想要怎么实现词法分析器。

    1.先进行预处理,把注释,多余的空格,空行去掉。

    2.一行一行扫描,行里逐字扫描,把界符和运算符当做分割符,遇到就先停下开始判断。

    若是以 英文字母、$、下划线开头,则可能是变量和关键字,在判断是关键字还是变量。

    若是数字开头,则判断下一位是不是也是数字,直到遇到非数字停止,在把数字取出来。

    再来判断分割符是什么类型,是界符还是运算符。

    在给不同词添加上识别码

    在用excel表打印出来。

    代码实现

    1. 用列表创建一个关键字表,java关键字有50个。

    #保留字

    key_word = ['abstract','assert','boolean','break','byte',

    'case','catch','char','class','const',

    'continue','default','do','double','else',

    'enum','extends','final','finally','float',

    'for','goto','if','implements','import',

    'instanceof','int','interface','long','native',

    'new','package','private','protected','public',

    'return','short','static','strictfp','super',

    'switch','synchronized','this','throw','throws',

    'transient','try','void','volatile','while']

    2.用列表创建一个运算符表。

    #运算符

    operator = ['+','-','*','/','%','++','--','+=','-=','+=','/=',#算术运算符

    '==','!=','>','=','<=',#关系运算符

    '&','|','^','~','<>','>>>',#位运算符

    '&&','||','!',#逻辑运算符

    '=','+=','-=','*=','/=','%=','<<=','>>=','&=','^=','|=',#赋值运算符

    '?:']#条件运算符

    3. 用列表创建一个界符表。

    #界符

    delimiters = ['{','}','[',']','(',')','.',',',':',';']

    4.预处理

    用正则表达式把注释去掉,在把多余的空行去掉

    #预处理

    def filterResource(file,new_file):

    f2 = open(new_file,'w+')

    txt = ''.join(open(file,'r').readlines())

    deal_txt = re.sub(r'\/\*[\s\S]*\*\/|\/\/.*','',txt)

    for line in deal_txt.split('\n'):

    line = line.strip()

    line = line.replace('\\t','')

    line = line.replace('\\n','')

    if not line:

    continue

    else:

    f2.write(line+'\n')

    f2.close()

    return sys.path[0]+'\\'+ new_file

    5.逐行扫描

    按照刚刚的思路进行判断,把每一行的单词,添加到word_line列表中,最后在把每一行添加到token列表中。

    def Scan(file):

    lines = open(file,'r').readlines()

    for line in lines:

    word = ''

    word_line = []

    i = 0

    while i

    6.根据单词返回是什么类型

    按照保留字--界符--运算符--常数的顺序来当识别码。常数识别码是-1,标识符识别码是-2

    def check(number):

    hanzi = ''

    q = len(key_word)

    w = len(delimiters)

    e = len(operator)

    if 0

    7. 用thinker写一个简单的界面

    导入

    from tkinter import *

    from tkinter.filedialog import askdirectory,askopenfilename

    root = Tk()

    root.title('词法分析')

    root.resizable(0, 0)

    path = StringVar()

    Label(root,text = "目标路径:").grid(row = 0, column = 0)

    Entry(root, textvariable = path).grid(row = 0, column = 1)

    Button(root, text = "路径选择", command = openfiles).grid(row = 0, column = 2)

    Button(root,text='词法分析',command= open_excel).grid(row = 0,column = 3)

    root.mainloop()

    打开文件

    def openfiles():

    fname = askopenfilename(title='打开文件', filetypes=[('All Files', '*')])

    path.set(fname)

    简单的界面

    8.导入到excel表中

    需要安装包xwings

    pip install xwings

    导入

    import xlwings as xw

    把token里的单词,按照 单词 ---- 识别码 ---类型 打印到excel表中

    def open_excel():

    # 预处理

    row,col=0,0

    if path.get()!='':

    txt = java_analysis.filterResource(path.get(),new_file)

    print(txt)

    #扫描

    java_analysis.Scan(txt)

    app = xw.App(visible=True,add_book=False)

    wb =app.books.open(sys.path[0]+'\\'+'test.xlsx')

    sheet = wb.sheets.active

    sheet.clear()

    print(java_analysis.token)

    for i in range(len(java_analysis.token)):

    sheet[row,0].value = '第'+str(i+1)+'行'

    row +=1

    for word in java_analysis.token[i]:

    for k,w in word.items():

    sheet[row,3].value = k

    sheet[row,5].value = w

    sheet[row,7].value = java_analysis.check(w)

    row +=1

    sheet.autofit()#整个sheet自动调整

    #wb.save()

    最后就像这样

    效果

    代码很烂,不过也算是大致明白词法分析器了。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本网站。

    展开全文
  • 编者按:发表一篇论文好比西天取经,就算有唐僧那样的好导师,孙悟空那样给力的合作者,不经历九九八十一难也不可能得取真经。...本公众号计划一系列教程,教你如何利用python国际顶级期刊那样的论...

    编者按:发表一篇论文好比西天取经,就算有唐僧那样的好导师,孙悟空那样给力的合作者,不经历九九八十一难也不可能得取真经。上一期的文章我们介绍了3个实用的latex工具,如果利用得当,可以显著提高你写论文的效率。如果说文字是一篇文章的血肉,那么图片则是文章的筋骨,也可以说是一篇文章的门面。出彩的图片无疑会大大增加文章投中的概率。本公众号计划用一系列教程,教你如何利用python画出国际顶级期刊那样的论文数据图。提醒,文末有福利。

    常言说熟读唐诗三百首,不会作诗也会吟。要想能随手画出国际顶级期刊那样的图片,对于新手而言首先建议在平时的文献阅读时,养成见到一些非常亮眼的图片能随手保存的习惯。这样在我们需要为自己的文章画图时,就能随时调取我们的宝库,通过模仿来完成一副像模像样的论文图片。

    作为举例,小编拿出以前从期刊中保存的相对比较复杂的一副图片,带领大家利用python去重复整个过程。

    选取图片模版

    本次选取的图片和复制出来的图片如下图,其中上图是从某期刊中截取的一幅比较典型的科研论文数据图,下边的图是用python在jupyter notebook里面重复出来的示意图,由于小编不可能有图片原来的实验数据,只能通过线型自己构造一些数据以供展示。可以看到,除了一些字体,颜色和图片的大小等需要仔细调整的地方,我们比较完美的还原了左边的数据图。下面,就让我们一步一步的跟随小编,看这幅图是如何被重构出来的。

    获取实验数据

    本次示例只需要用到numpy和matplotlib两个python库,需要提前导入

    由于没有真实的实验数据,小编根据图中情况自己构造了一些数据

    得到了初始的图片

    这个图片看起来和我们想要的相差很大,没有关系,matplotlib是一个非常强大的绘图库,让我们一点一点地去改进我们的图片

    更改坐标轴

    更改坐标轴的范围

    plt.xlim()和plt.ylim()语句可以让我们改变x坐标轴和y坐标轴的范围

    更改坐标轴的刻度

    ax是我们前面命名的一个画板对象的名字,如果需要改变坐标轴的刻度,可以通过ax.setxticks()设定x轴的刻度值,同时matplotlib允许我们通过tickparams()方法改变刻度值的一些属性,例如刻度值的朝向,颜色,长度和粗细等。

    更改线的颜色

    ax.plot()里面的color参数可以指定所画图线的颜色,颜色可以用0-1范围内的RGB值来确定。有的时候我们不能确定一个图线用什么样的颜色更协调,这时我们可以去观摩别的优秀期刊上面的图片的配色,然后用取色器拾取其颜色,用在我们的图片中。

    设定label

    matplotlib可以嵌入latex公式,只需要在 r'$$' 的两个$符号中间写入latex代码就可以。这样我们可以很方便的在图片的图例、坐标轴名称等地方嵌入latex公式

    设置坐标轴名称

    增加散点图

    到此为止,我们的主图已经描绘的差不多了

    接下来需要的就是分别按照上面描述的方法,把两个子图分别画出来

    绘制子图一

    在绘制子图的过程中,我们用ax1.setxticklabels()来设定刻度值的内容,刻度值并不一定显示实际的数值,而可以显示字符串样式的内容。这样就方便了我们自定义一些非常规的坐标刻度值。同时,我们用ax_1.text()来自定义一些图片内的文字。

    绘制子图二

    与子图一的绘制相似,子图二的绘制也比较简单。

    结合主图和子图

    在将三幅图结合为一幅图的过程中,我们使用fig.add_axes()命令来为图片添加子图,其中该方法中的四个参数分别是该子图的两个起始地点和宽、高度。通过调整这四个参数我们可以让子图到达我们想要的位置。

    最终的效果图如图所示。

    matplotlib是一个有很强自定义功能的python绘图库,它几乎可以让我们定义任意的东西,画出各种各样的图形,感兴趣的同学可以去下面的官网上面查看官方示例。https://matplotlib.org/3.1.1/tutorials/introductory/sample_plots.html

    但同时,这种自定义太强的功能也给我们带来很多困扰,哪怕我们只想实现一个比较简单的功能,如果对matplotlib这个库不是那么熟悉的话,也需要查找半天。而如果画图者本人没有很高的审美的话,就很容易画出一些看上去不是很协调的图片。好在世界上同样有人想到了这一点,他们开发出了plotly这一个能很方便的画出非常美观图形的库和mpltex这个号称可以画出出版社级别图片的库,这两个功能强大的库我们将于接下来的系列教程中予以介绍~

    展开全文
  • 编者按:发表一篇论文好比西天取经,就算有唐僧那样的好导师,孙悟空那样给力的合作者,不经历九九八十一难也不可能得取真经。上一期的文章我们介绍...本公众号计划一系列教程,教你如何利用python国际顶级期...
  • 点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识起因最近经常被要求手机拍摄考试卷,但是拍摄完之后,跟实际的黑白考试卷有很大的色差,打印出来...最终我写出的程序测试效果如...
  • 这里再重复一下标题为什么是”使用”而不是”实现”: 首先,专业人士提供的算法比我们自己的算法无论是效率还是正确率上都要高。...而贝叶斯算法要解决的问题就是如何相似度,即:P(B|A)的值 3. 在s
  • 太长了,我决定还是拆开三篇。 (一)段落篇(paragraph) (二)表格篇(table) ...在前两篇中,我们已经解析了paragraph和table,那么,如何把它们按顺序组合在一起呢?毕竟,一般的word不会固定把表格和文字...
  • Python程序运行太慢的一个可能的原因是没有尽可能的调用内置方法,下面通过5个例子来演示如何用内置方法提升PythGon程序的性能。 1. 数组求平方和 输入一个列表,要求计算该列表中数字的的平方和。最终性能提升...
  • 在这个过程中,你将了解软件是如何工作的,好的程序看起来是什么样子,怎样阅读、编写、思考代码,以及如何用专业程序员的技巧来找并修正错误。最重要的是,你将学到下面这些编写优秀的Python软件必需的初始技能。...
  • 2014-3-25 09:46:22 上传下载附件 (66.13 KB)1、主成分分析:是研究如何通过少数几个主成分来解释多变量的方差一协方差结构的分析方法,也就是求少数几个主成分(变量),使它们尽可能多地保留原...
  • Python学习笔记(一)

    2018-10-24 09:50:00
    1.在代码之前,请千万不要“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,...2)如果要让Python打印指定的文字...
  • 第5 章 处理PDF 文件,以及用Python 解决问题 73 5.1 尽量不要用PDF 73 5.2 解析PDF 的编程方法 74 5.2.1 利用slate 库打开并读取PDF 75 5.2.2 将PDF 转换成文本 77 5.3 利用pdfminer 解析...
  • 前言 ...上次写了 Python 批量下载知乎视频的方式,这次分享 Python 批量下载抖音个人主页的全部无水印视频,本文重点不是提供一个好用的脚本,而是讲述如何写出这样的脚本,正所谓授人以鱼,不如
  • 字符画生成

    2017-08-24 08:51:00
    本文用python PIL库实现纯文本字符画,它能够用字符画灰度图像。 原理如下: 首先定义一个字符集,本程序使用ASCII码中的可打印字符:32~126 其次,每一个字符都对应一个灰度值,不同字符灰度值不同,具体如何...
  • 另外有的读者可能不想去直接就安装 Python,我们就提供了一个浏览器来运行 Python 的简介:使用 PythonAnywhere,一个免费的在线 Python 编程环境。(译者注:中国用户以考虑试试 fenby.com,也有类似的实现,还有...
  • 用Python做科学计算 Sphinx 中文文档 精通 Python 设计模式 python 安全编程教程 程序设计思想与方法 知乎周刊·编程小白学Python Scipy 讲义 Python 学习笔记 基础篇 Python 学习笔记 模块篇 Python 标准库 中文版 ...
  • 而后利用收集了几万首唐诗,训练了一个可以自动诗歌的小程序。这个小程序可以控制生成诗歌的格式,意境,还能生成藏头诗。 第十章为读者介绍了图像描述任务,并以最新的AI Challenger比赛的数据为例,带领读者...
  • 用Python自己实现一个神经网络。 学习问题和Yaser Abu-Mostafa教授 | 第19天 开始Yaser Abu-Mostafa教授的Caltech机器学习课程-CS156中的课程1。这基本上是对即将到来的课程的一种介绍。他也介绍了感知算法。 深度...
  • Paul Graham:了一万六千字告诉你,如何融资.epub Perl 程序员应该知道的事.epub PHP 5.6.x 版本迁移至 PHP 7.0.x 版本.epub PHP 最佳实践(译).epub PHP7革新与性能优化.epub PHPUnit5.0中文手册.epub PHP之道...
  • Paul Graham:了一万六千字告诉你,如何融资.epub Perl 程序员应该知道的事.epub PHP 5.6.x 版本迁移至 PHP 7.0.x 版本.epub PHP 最佳实践(译).epub PHP7革新与性能优化.epub PHPUnit5.0中文手册.epub PHP之道...
  • 深入浅 Kafka,将最极简的语言带你走进 Kafka 的消息中间件世界 玩转时序数据库 InfluxDB(一)初体验 【说明】分布式专题 笔者也在学习中,这里列举了一些技能列表,笔者将局部更新。敬请期待 TODO LIST ...
  • 海玲姐两位老师给了大量细致、详尽的修改建议,包括文字表述、语言表达、标点符号、字体格式、出版规范,尤其是正斜体、大小、上下角。 5月15日,和海玲姐审完第一、二章,标点、术语、表述、逻辑、图片、代码等...
  • Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写自己的随机优化算法。 frugally-deep:使用Keras模型的C++库,只有头文件。 Genann:简单的神经网络C库。 MXNet:轻量级、便携、...
  • 《本地YouTube下载器》作者自己也承认youtube-dl要比《本地YouTube下载器》更好用一些,但《本地YouTube下载器》是一个脚本,无需安装Python开发环境,可以在浏览器直接使用,对普通用户极其友好,所以懒得折腾的非...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
热门标签
关键字:

如何用python写出文字

python 订阅