홈>
다음과 같이 파일을 제거하고 싶습니다 :
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 : 일대다 관계 flask-sqlalchemy를 식별하는 적절한 방법입니까?
- PYTHON-최소 3자리 숫자 반환
- python : PyCharm은 dict 생성 속성의 확인되지 않은 속성에 대해 경고합니다.
- python : 지수 형식/과학 표기법 없이 십진수를 인쇄하는 방법은 무엇입니까?
- python : opencv에서 인수 오류가 계속 발생합니까?
- python : Sphinx는 :param 및 :return을 제대로 인식하지 못합니다.
- python : super가 항상 __init__에서 호출되어야 하는 이유
- python : 값이 두 번 이상 나타나면 값을 취하는 목록 만들기
- bash 스크립트에서 올바른 Python 설치를 동적으로 선택하십시오.
- python : 파이썬 함수에서 하드 코딩된 문자열 값을 피하는 방법
os.remove(os.path.join(path, del_file))
를 사용해야 할 수도 있습니다os.remove(path + del_file)
대신 경로가 경로 구분자로 끝나지 않는 경우 문서 : os.path.join ()