one-liner 2

[python3][one-liner] 섹션 헤더 없는 설정 파일 값 바꾸기

기록용으로 남깁니다.A=B 형태의 설정파일이고, REMOTE_ADDR 이란 변수가 있으며, 섹션 헤더는 없는 경우에 한줄로 원하는 값으로 바꾸는 명령을 소개합니다.참고로 ssh_config 파일 내용은 다음과 같습니다.REMOTE_ADDR=1.2.3.4바꾸고 싶은 값은 val='1' 에서 수정하고 파일명은 f='ssh_config' 에서 수정하도록 합니다.결과물!!python3 -c "val='1';from configparser import ConfigParser;f='ssh_config';c=ConfigParser();c.optionxform=str;c.read_string('[sec]\n'+open(f,'r').read());c['sec']['REMOTE_ADDR']=val;open(f,'w').w..

IT/python 2024.12.19

[python3] 윈도우에서 한줄 실행하는 방법

python3 -c 'import os; print(os.environ)' 이 명령을 리눅스에서 실행할 때에는 다른 os 에서는 실행이 안 될지는 몰랐습니다. 잘 실행됬었으니까요.. 하지만 윈도우에서 실행하면 SyntaxError: EOL while scanning string litteral 이라는 오류가 발생합니다. 윈도우라고 안 될리는 없을텐데.. 하며 여러번 명령들을 바꿔가며 실패만 거듭하다가 포기할 즈음에 설마 윈도우는 따옴표를 가리나? 하는 생각에 큰 따옴표로 감싸봤습니다. 그러니... 잘 되네요!! 작은 따옴표 ' 와 큰 따옴표 " 모두 혼용할 수 있는 리눅스와 달리 윈도우에서는 -c 옵션으로 cli 상의 한 줄 명령을 주려면 반드시 큰 따옴표 " 로 둘러쌓아야 정상 실행됩니다.

IT/python 2024.02.01