代码之家  ›  专栏  ›  技术社区  ›  Hath

python打印结束=“”

  •  95
  • Hath  · 技术社区  · 15 年前

    gdal_retile.py , 但我有个例外:

    if Verbose:
       print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
    

    end=' ' 无效语法。我很好奇为什么,以及作者可能想做什么。


    因此,必须包含这个导入 from __future__ import print_function

    try: 
       from osgeo import gdal
       from osgeo import ogr
       from osgeo import osr
       from osgeo.gdalconst import *
    except:
       import gdal
       import ogr
       import osr
       from gdalconst import *
    
    13 回复  |  直到 5 年前
        1
  •  159
  •   eyllanesc    8 年前

    您确定使用的是Python3.x吗?该语法在Python2.x中不可用,因为 print 仍然是一个声明。

    print("foo" % bar, end=" ")
    

    print ("foo" % bar, end=" ")
    

    print "foo" % bar, end=" "
    

    i、 例如,调用print并以元组作为参数。

    打印 是一个实际函数,所以它也需要关键字参数。

    python2.x中的正确用法 end=" "

    print "foo" % bar,
    

    (请注意最后一个逗号,这将使它以空格而不是换行符结束行)

    如果您希望对输出进行更多的控制,请考虑使用 sys.stdout 直接。这不会对输出产生任何特殊的魔力。

    当然,在Python2.x的较新版本中(2.5应该有,不确定2.4),您可以使用 __future__ 要在脚本文件中启用它的模块:

    from __future__ import print_function
    

    同样的道理 unicode_literals 还有其他一些好东西( with_statement

        2
  •  50
  •   badp    15 年前

    这个怎么样:

    #Only for use in Python 2.6.0a2 and later
    from __future__ import print_function
    

    这允许您使用python3.0样式 print 无需手动编辑所有出现的 :)

        3
  •  17
  •   Ritesh Karwa    6 年前

    在Python2.7中,这里是如何实现的

    mantra = 'Always look on the bright side of life'
    for c in mantra: print c,
    
    #output
    A l w a y s   l o o k   o n   t h e   b r i g h t   s i d e   o f   l i f e
    

    在Python3.x中

    myjob= 'hacker'
    for c in myjob: print (c, end=' ')
    #output 
    h a c k e r 
    
        4
  •  5
  •   interjay    15 年前

    在Python3.x中 end=' '

    print "Building internam Index for %d tile(s) ..." % len(inputTiles),
    
        5
  •  4
  •   Dominic Rodger    15 年前

    我想他用的是Python3.0,而你用的是Python2.6。

        6
  •  3
  •   JasonMArcher TWE    10 年前

    end=' ' 只是说您希望在语句结尾后有一个空格,而不是换行符。在Python2.x中,必须在print语句的末尾放置逗号。

    while i<5:
        print(i)
        i=i+1
    

    将提供以下输出:

    0
    1
    2
    3
    4
    

    其中:

    while i<5:
        print(i, end = ' ')
        i=i+1
    

    将作为输出:

    0 1 2 3 4
    
        7
  •  2
  •   Will Robinson    15 年前

    你好像错过了开头的双引号。尝试:

    if Verbose:
       print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
    
        8
  •  1
  •   Dominic Rodger    15 年前

    我想作者的意思可能是:

    if Verbose:
       print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
    

    print( .

    注意,从 Python 3.0 print 是一个函数,而不是一个语句,如果您使用的是较旧版本的Python,则等效于:

    print "Building internam Index for %d tile(s) ..." % len(inputTiles)
    

    这个 end 参数表示行 ' ' 而不是换行符。在早期版本的Python中,等效于:

    print "Building internam Index for %d tile(s) ..." % len(inputTiles),
    

        9
  •  1
  •   Subbu    12 年前

    python3 filename.py

    #!usr/bin/python
    
    f = open('lines.txt')
    for line in f.readlines():
            print(line,end ='')
    

    当我按命令运行它时 python lines.py

    
    对于f.readlines()中的行:
    

    当我按命令运行它时 python3 lines.py 我执行成功了

        10
  •  1
  •   Viraj Patil    8 年前

    对于python2.7,我也遇到了同样的问题 “只需使用” 从未来导入打印功能 “这确保了Python2.6和更高版本的Python2.x可以使用Python3.x打印函数。

        11
  •  1
  •   jwpfox Amit    8 年前

    如果您使用的是python 2.7,请尝试以下方法:

    from __future__ import print_function
    
        12
  •  1
  •   Jellicle    5 年前

    Python 2和;3.

    sys.stdout.write('mytext')
    

    仅与兼容 蟒蛇2

    print 'mytext',
    

    仅与兼容

    print('mytext', end='')
    
        13
  •  1
  •   santhosh bandaru    4 年前

    基本上,它发生在python2.7中

      i=5
    while(i):
        print i,
        i=i-1
    Output:
    5 4 3 2 1
    
        14
  •  1
  •   Simas Joneliunas Kojo Clinton    4 年前

    我遇到了这个错误,是因为使用了版本2.7.15,但是end=''只适用于版本3。

    例子:

    import array as arr
    a=arr.array('i',[1,2,3,4])
    for x in range(0,3):
        print ("%d" % a[x], end=' ')
    

    输出:使用版本2.7时显示错误“无效语法”

    import array as arr
    a=arr.array('i',[1,2,3,4])
    for x in range(0,3):
        print ("%d" % a[x]),
    

    输出:1 2 3

        15
  •  0
  •   biswajit    13 年前

    就连我今天也犯了同样的错误。我经历了一件有趣的事。

    在pythonshell窗口中按下f5按钮&书信电报;3.x英寸) 弹出

    我今天也犯了同样的错误,注意到了。相信我,当我从正确的shell窗口(版本。3.x),我得到了满意的结果

        16
  •  0
  •   eyllanesc    8 年前

    我们需要在使用之前导入一个标题 end=''

    from __future__ import print_function
    

    它现在应该能正常工作了