如何在Python中保存文件的缩进格式

时间:2009-05-27 08:37:48

标签: python

我正在保存文件中的所有单词:

     sentence = " "
   fileName = sys.argv[1]
   fileIn = open(sys.argv[1],"r")
   for line in open(sys.argv[1]):
      for word in line.split(" "):
         sentence += word

除格式化外,输出时一切正常。 我正在移动源代码,有什么方法可以保存缩进吗?

3 个答案:

答案 0 :(得分:3)

既然您声明要移动源代码文件,为什么不复制/移动它们呢?

import shutil
shutil.move(src, dest)

如果您阅读了源文件,

fh = open("yourfilename", "r")
content = fh.read()

应该按原样(带缩进)加载文件吗?

答案 1 :(得分:2)

当您调用line.split()时,会删除所有前导空格。

将文件读入单个字符串有什么问题?

textWithIndentation = open(sys.argv[1], "r").read()

答案 2 :(得分:1)

拆分删除所有空格:

>>> a="   a b   c"
>>> a.split(" ")
['', '', '', 'a', 'b', '', '', 'c']

如您所见,生成的数组不再包含任何空格。但你可以看到这些奇怪的空字符串('')。他们表示有一个空间。要恢复拆分效果,请使用join(" ")

>>> l=a.split(" ")
>>> " ".join(l)
'   a b   c'

或在您的代码中:

sentence += " " + word

或者您可以使用正则表达式来获取行开头的所有空格:

>>> import re
>>> re.match(r'^\s*', "   a b   c").group(0)
'   '