2014-06-12 4 views
1

변수 argString을 선언하는 동안 공백을 사용하여 코드를 포맷하므로 나중에 쉽게 읽을 수 있습니다. 그래서 입력하는 대신 :파이썬에서 문자열에서 공백 문자를 제거하는 방법

argString=""" 
line1 
line2 
line3 
""" 

을 나는이 대신 사용하고 있습니다 :

argString=""" 
    line1 
    line2 
    line3 
""" 

문제를 나는 만남 나중에 argString가 출력 텍스트에 기록 될 때 형식 코드에 사용 된 여분의 공백하는 파일이다가 여전히 보존되어 출력 텍스트 파일에 기록됩니다. 그래서 결과 출력 텍스트 파일 형태로 기록됩니다

....line1 
....line2 
....line3 

(각 기간이 공백 문자를 나타냅니다 코드의 가독성을 위해 순수하게 사용되는 여분의 공백을 제거하는 방법

때 '.'. 변수 문자열의 내용 argString 텍스트 파일에 기록됩니다

import tempfile 

argString=""" 
    line1 
    line2 
    line3 
""" 
writeFile=tempfile.mkdtemp()+'/script.txt' 

_file=open(writeFile, "wb") 
_file.write(argString) 
_file.close() 
+0

를? – Ffisegydd

답변

10

사용을 textwrap.dedent :

>>> import textwrap 
>>> argString=""" 
...  line1 
...  line2 
...  line3 
... """ 
>>> print textwrap.dedent(argString) 

line1 
line2 
line3 

>>> 
를 당신은 실제로 선행 및 후행 줄 바꿈 제거 할 수 있습니다

: 당신이 모든 공백을 제거하려면 너무 줄 바꿈을 제거하게 될 겁니다 경우

>>> print textwrap.dedent(argString).strip() 
line1 
line2 
line3 
+1

니스, 그런 모듈이 존재한다는 것을 몰랐습니다! (+1) – NPE

+3

@NPE - 음, 내가 새로운 것을 보여줄 수 있다면, 나는 이미 성공적인 하루를 보낸 것 같아! :-). – mgilson

+0

새로운 무언가가 보여지면 나는 이미 성공적인 하루를 보내고 있다고 생각합니다! 감사! – alphanumeric

관련 문제