如何在 Python 中以斜体打印文本?

How do I print text in italics in Python?

我正在编写一个程序,该程序应该以 APA 的特定修改形式获取条目和 return APA 引用。我已经意识到我只需要将文本的某些部分打印成斜体。现在,我的程序只是做一个输入,询问你是否有某些信息,如果你有,它会要求它,格式化它,并将它放在一个列表(fullCitation)中,我最终会做 print("".join(fullCitation )) 到,这将打印整个引文。我需要斜体的第一部分是出版商名称,我可能需要将其作为斜体文本存储在完整引文列表中。我可以想出一种方法来使用索引范围自行打印它并只做斜体,但我真正需要知道的是如何 print/store 斜体文本 Python。我正在使用语言版本 3.0。我在 windows 10 上使用 eclipse Juno。这是我的代码:

welcome="Welcome to the research APA citation machine. If you want specific instructions, type help. If you are ready, type ready."  
print(welcome)
type=input('web page=1, Journal=2. type your citation type number: ')
#asks citation type. only journal is available (work in progress)
fullCitation=[]
#this is the whole citation in a list. Everything gets appended in a certain order with spaces already formatted. 
authorKnown=input("Is the author known? ")
if authorKnown.lower()=='yes':
    authorNum=input('How many authors? ')
    nameList=[]
    for x in range(1,int(authorNum)+1):
        first=input("First name: ")
        firstInitial=first[0].upper()+'.'
        last=input("Last name: ")
        middleKnown=input('Is there a middle name? ')
        if middleKnown.lower()=='yes':
            middle=input("Middle name: ")
            middleInitial=middle[0].upper()+'.'
            fullName= last+', '+firstInitial+middleInitial
            nameList.append(fullName)
        if middleKnown.lower()=='no':
            fullName=last+', '+firstInitial
            nameList.append(fullName)
    if len(nameList)==1:``
        fullCitation.append(nameList[0])
    if len(nameList)==2:
        fullCitation.append(nameList[0]+'and'+nameList[1])
        #just puts an "and" in between the two authors
    if len(nameList)>=3:
        nameListPunc=[]
        for x in nameList[0:len(nameList)-2]:
            nameListPunc.append(x+', ')
        nameListPunc.append(str(nameList[len(nameList)-2])+', and '+str(nameList[len(nameList)-1]))  
        fullCitation.append("".join(nameListPunc))
        #This is for when you need to list items like "a, b, c, and d"
if authorKnown.lower()=='no':
    pass
#asks if author(s) are known and formats name(s)  
pubYearKnown=input('Is the year of publication available? ')
if pubYearKnown.lower()=='no':
    fullCitation.append('(n.d.). ')
if pubYearKnown.lower()=='yes':
    pubYear=input('Publication year: ')
    fullCitation.append('('+pubyear+'). ')
#asks if publication year is known and formats it  
#this is not complete. I still need to code for title, journal name(italics), volume number(italics), and page numbers  

如果您的程序只是简单地打印到命令行(Eclipse 中的控制台),那么如果您希望它自动包含格式设置,那么您就不走运了。 Print() 和 Sys.stdout.write() 没有自动提供格式的能力。

然而,这并不意味着它不可能,它只是意味着你必须为之努力。最简单的方法是以 HTML 格式将结果写入文件。然后您可以在 Web 浏览器或 MS Word 中打开该文件,它将具有正确的格式。您需要做的额外工作是在需要斜体、下划线或粗体的每个部分周围提供所有包装标签。

按原样使用python模块! 可以使用pip安装 https://pypi.org/project/quo

用法::

from quo import echo
echo(f"Hello world",  italic=True)