我正在保存文件中的所有单词:
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
除格式化外,输出时一切正常。 我正在移动源代码,有什么方法可以保存缩进吗?
答案 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)
' '