首先,我是python的新手,所以也许我的代码有点奇怪或接近于错误,但它确实有效,所以就有了。
我一直在为这个问题进行谷歌搜索,但找不到任何写作的人,我得到了这样一个大写的列表
1 2 3 4 5
2 2 2 2 2
3 3 3 3 3
等,请注意它是空格而不是标签,这是我无法改变的,因为我正在使用ls-dyna的打印输出 所以我使用这个脚本来删除数字之前的空格,因为他们在尝试将数字格式化为矩阵时给了我麻烦然后我删除后面的空行
for line in input:
print >> output, line.lstrip(' ')
但由于某种原因,我有4442行(这里我的意思是写行,因为它们被枚举很容易跟踪)但是输出只有4411,所以它删除31行,我需要的数字 这是为什么?
答案 0 :(得分:0)
lstrip()
不会删除行,因为它在print
语句中使用,它将始终附加换行符(您使用它的方式)。但是for line in input
可能会以意想不到的方式遍历行列表,i。即它可以跳过行或以你没想到的方式组合它们。
也许换行和回车字符会导致这个奇怪的问题。
我建议让.lstrip(' ')
离开进行测试,并将输出与输入进行比较,以找到某些内容发生变化的地方。您可能应该使用output.write(line)
来规避print
语句的所有自动操作(尤其是附加换行符)。
然后在输出(output.write('###' + line)
或类似的)时应使用特殊的分隔符,以了解如何进行输入的迭代。