2015-11-09 122 views
0

如何删除tkinter Scrolledtext小部件中每行末尾的空白空间?如何删除python tkinter ScrolledText小部件内每行末尾的空白空间?

INPUT

TXT没有在每一行的末尾有空白文件。

CODE

def openCommand(): 
     ftypes = [('Text files', '*.txt')] # allow only txt files 
     filePath = tkFileDialog.askopenfile(parent=root,mode='rb',title=' Select a file', filetypes = ftypes) 
     if filePath != None: 
      contents = str(filePath.read()).strip() 
      contents = contents.rstrip() 
      contents = contents.lstrip() 
      textPad.insert('1.0',contents.strip()) 

OUTPUT

一旦插入该文件的内容,在textpad:

textPad = ScrolledText(root, width=100, height=30, undo=True) 
textPad.pack() 

我将看到的空的空间在每一行的末尾。

注意

我已经尝试所有与Python字符串修整有关。

回答

0

问题解决。 我用“tkFileDialog.Open”替换了obj“tkFileDialog.askopenfile”。

0

要回答您的原始问题:我99%确定您在Windows上运行,并且您的文本文件行以\r\n结尾。当你用二进制模式打开时,你是在问Python到而不是\n替换\r\n。不过,你需要即更换。 Tk显示除\n以外的控制字符作为空格。这是我能想到的只有神奇地出现空白的唯一方式。

从你使用tkFileDialog,我假设你使用的是2.x.我不记得'r'是否会让你的行结束翻译(我认为可能),或者你需要'rU'。在任何情况下,tk在读取文件时都会进行翻译。

您重复剥离整个文件是无用的和不必要的。