코드 올리려니까
The request / response that are contrary to the Web firewall security policies have been blocked.
뭔 이런 에러 떠서 사진으로 올림...
txt 파일 내용 보면 맨 앞에 0이 있는데
이걸 1로 바꾸고 싶음.
그래서 코드를 이렇게 짜고 돌리면
이런식으로 자동 줄바꿈이 되면서 맨 앞자리마다 1이 붙는 이상한 현상이 발생함.
나는
1 0.5480295566502463 0.6280788177339901 0.8990147783251231 0.7142857142857143 .........
이런식으로 그냥 맨 앞에 숫자 하나만 바꾸기를 원하는데
자동 줄바꿈 안되도록 어케 하는 방법 없을까?
ps.ㅈㅅ 사진 올리는거 깜빡해서 다시올렸음
메모장으로 맨든 코드.. 이건 굉장히 귀하네요
우분투 밀어가지고 허겁지겁 올렸음 ㅈㅅ
해당 댓글은 삭제되었습니다.
아 ㅈㅅ 다시 수정해서 올려봄
http://colorscripter.com/s/sVCFncK
파일에 줄바꿈 없으면 그냥 read()로 다 읽어서 맨 앞 하나만 고치면 될거 같은데
file = read(); file.replace(file[0], '1', 1) write(file);하면 되는 거 아님? 파이썬은 해본적이 없어서 문법은 확신이 없지만
ㅇㅋ 함 해봄
os.listdir 해서 비슷한 파일이 여러개 있었나보네 그게 다 앞이 바뀐 듯 원하는 파일이 하나면 그것만 돌려야지 왜 listdir을 했음?
파일 여러개라 listdir썼음
그러니까 그 각각의 파일을 처리한 결과가 stdout으로 출력되서 그걸 모으다보니 오해한 거 아니냐는 거
예를 들자면 1.txt // 0 0.41544117647058826 0.24142156862745098 2.txt // 0 0.0857843137254902 0.48284313725490197.... 이런것들을 1.txt // 1 0.41544117647058826 0.24142156862745098 2.txt // 1 0.0857843137254902 0.48284313725490197.... 이렇게 바꾸고 싶음
아 미안하다 fileinput에 inplace=True 하면 그런 기능이 있었구나 그러면 close를 안 해서 그런 게 아닐까 close를 해 봐
sys.stdout.close()
sys.stdout.write(line) 바로 아래줄에 sys.stdout.close()을 추가하라는겨 아님 sys.stdout.write(line)을 sys.stdout.close()로 바꾸라는겨??
물론 write 후에 close 하도록 추가를 해야지
음 sys.stdout.close()을 쓰니까 메모장 안에 내용 자체가 아예 사라저버리네 ㄷㄷ;
눈으로 봐선 이젠 잘 모르겠다 나도
암튼 고맙당