홈>
다음과 같이 파일을 제거하고 싶습니다 :
path = "username/hw/01/"
file_list = ["main.cc", "makefile"]
files = os.listdir(path)
del_files = list(set(files) - set(file_list))
for del_file in del_files:
try:
os.remove(path + del_file)
except FileNotFoundError as e:
print("\t" + e.strerror)
except OSError as e:
print("\t" + e.strerror)
작동하지 않는달리려고하면
....
try:
os.remove(path + del_file)
os.remove(path + del_file)
except ...
예외가 발생했습니다. 그러나 ls 또는 nautilus로 확인한 후 파일이 여전히 있습니다.
작동하는 것은
files = os.listdir(path)
del_files = list(set(files) - set(file_list))
while (del_files):
for del_file in del_files:
try:
os.remove(path + del_file)
time.sleep(0.5)
print("\t\tRemoving " + path + del_file)
except FileNotFoundError as e:
print("\t" + e.strerror)
except OSError as e:
print("\t" + e.strerror)
files = os.listdir(path)
del_files = list(set(files) - set(file_list))
이것은 엄청나게 추악합니다. print 문이 포함되면 요청 된 모든 파일을 가져 오기 위해 두 번 이상 실행됩니다. 내가 무엇을 놓치고 있습니까?
중요하다면
$ python3 --version
Python 3.4.3
- 답변 # 1
관련 자료
- 파이썬에서 remove ()를 사용하여 특정 셀을 어떻게 삭제할 수 있습니까?
- python 39 - windows에서 scikit-learn 설치 실패
- ubuntu18.04 - rhythmbox에서 플러그인 실행 실패 "플러그인 로더 'python'을 찾을 수 없습니다 '
- '!'를 제거하는 방법 파이썬 목록의 각 문자열 끝에서?
- data structures - 파이썬 - txt 파일에서 문자열 제거
- text - 파이썬을 사용하여 문장이 주어진 영숫자 단어를 제거하는 기능이 있습니까?
- pandas - 파이썬 문자열 값이있는 필드에 포함 된 숫자에서 부동 소수점을 제거하려면 어떻게해야합니까?
- Python의 목록에서 evey n 번째 요소 제거
- Python은 목록에서 유사한 항목을 제거합니다
- Python 39를 사용한 임베디드 설치에서 Pywin32가 실패 함
- 해시 맵 제거 및 파이썬 업데이트
- python + "암호화가 설치되지 않았습니다 암호를 사용할 수 없습니다"메시지 제거 방법
- loops - 파이썬으로 디렉토리의 모든 파일 이름에서 문자 제거
- 파이썬의 목록 내에서 중복 된 하위 목록 제거
- 파이썬의 하위 문자열에서 쉼표 제거
- 파이썬으로 디렉토리에있는 모든 pdf 파일의 암호를 어떻게 제거합니까?
- 파이썬에서 1보다 큰 목록의 요소를 제거해야합니다
- tkinter - 파이썬에서 알 수없는 문자열 부분을 제거하는 방법
- 파이썬 목록에서 특정 문자열을 제거하는 방법
- pandas - Python 람다 함수가 Series에서 하위 문자열을 제거하지 못함
관련 질문
- python : 시퀀스에서 숫자의 시작점을 얻는 방법은 무엇입니까?
- 버튼을 클릭하려고하면 오류가 발생합니다. 나는 repl.it python 환경을 사용하고 있습니다
- python : Pandas Groupedby 데이터 프레임 열의 값별로 정렬합니다
- python : 파이썬에서 열 출력으로 행 값을 사용하는 방법이 있습니까?
- python : 목록에 맞는 방법이나 파이썬에서 모델 사전을 맞추는 방법은 무엇입니까?
- python : 파이썬에서 기본 클래스 '__init__'서명을 복제하는 올바른 방법은 무엇입니까?
- python : 파이썬 /가장 작은 양의 정수
- python : 아무도 나에게 이것을 묘사 할 수 있고, 나는 초보자이며, 나는 그것을 이해하지 못했습니다.
- python : 함수의 출력은 문자열과 같습니다.
- python : jupyter 노트북은 VENV에서 패키지를 인식하지 못합니다
os.remove(os.path.join(path, del_file))
를 사용해야 할 수도 있습니다os.remove(path + del_file)
대신 경로가 경로 구분자로 끝나지 않는 경우 문서 : os.path.join ()