끄적끄적

반응형

메모장 만들기

실행할 때 옵션을 받고, 옵션에 따라 다른 기능을 수행.

argv[]

# 메모장 만들기
# 입력 : python memo.py -a "Life is too short"
# 출력 : python memo.py -v
# 메모 추가, 조회, 출력은 memo.txt

import sys
option = sys.argv[1]

if option == '-a':
	memo = sys.argv[2]
	f = open('memo.txt','a')
	f.write(memo)
	f.write('\n')
	f.close()
elif option == '-v':
	f = open('memo.txt','r')
	memo = f.read()
	f.close()
	print(memo)

 

 

 

 

# *******************************
# 탭을 4개의 공백으로 바꾸기
# python tabto4.py a.txt b.txt

import sys
src = sys.argv[1]
dst = sys.argv[2]

f = open(src)
tab_content = f.read()
f.close()

spave_content = tab_content.replace("\t", " "*4)

f = open(dst, 'w')
f.write(space_content)
f.close()

 

 

디렉토리, 파일이름 조회

하위폴더 검색 = 재귀함수 (함수 안에서 또다시 함수를 호출)

# *******************************
# 하위 디렉터리 검색하기
# python tabto4.py a.txt b.txt

import os

def search(dirname):
	try:	
		filenames = os.listdir(dirname)
		for filename in filenames:
			full_filename = os.path.join(dirname, filename)	#디렉터리+파일이름 = 전체경로 
			if os.path.isdir(full_filename):	#하위폴더도 검색
				search(full_filename)	#재귀함수 : 함수 안에서 또다시 함수를 호출
			else:
				ext = os.path.splitext(full_filename)[-1]	#확장자만 분리해준다. #튜플형태로 파일경로와 확장자가 분리되어 저장됨, [-1]은 마지막 인덱스 = 확장자만 선택
				if ext == ".py":
					print(full_filename)
	except PermissionError:		#접근권한 때문에 오류가 날 때
		pass

search("C:/")

www.youtube.com/watch?v=M4sDbGW62R0&feature=push-u-sub&attr_tag=orNFCyfMWVfEHV2-%3A6

 

반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]