Мне было интересно, как правильно использовать os.path и pathlib. Я должен искать каталог (который я уже сделал), а затем после этого введите письмо и пробел, и он решит, что он будет делать.Использование pathlib/os.path и т. Д. Правильно
импорт ОС импорт os.path импорт shutil из pathlib импорта Путь
def search_files():
directory = input()
exist = Path(directory)
if exist.exists():
return directory
else:
print("Error")
print("Try again: ")
return search_files()
def search_characteristics(directory):
interesting = input()
exist = os.path.exists(directory)
if interesting[0] == 'N':
return os.path.join(directory, interesting)
else:
print("Error")
return search_characteristics()
if __name__ == '__main__':
directory = input()
search_files()
search_characteristics(directory)
Для этого, как вы можете видеть, search_files ищет каталог, который работает. Следующая часть - та, где я смущен. В основном после того, как он ищет каталог, C: \ Program Files или что-то еще, я бы ввел N в новую строку для поиска того, что я хочу в каталоге.
Скажите, как
C:\Users\Desktop\stuff
N something.txt
N будет искать точное имя файла.
Я делаю это правильно или есть другой способ сделать это?
'search_files' не работает правильно! Вам нужно использовать методы в объекте «Путь», чтобы узнать об этом. Таким образом, вместо 'if exist:', который всегда является «True», потому что его просто объект «Path», do 'if exist.exists():'. – tdelaney
'os.path.join (directory)' не очень интересно. Используйте его только тогда, когда вы хотите присоединиться к нескольким компонентам пути. – tdelaney
Я изменил его на exist.exists, но я все еще получаю ту же ошибку, что и> directory = os.path.join (directory) UnboundLocalError: локальная переменная 'directory', на которую ссылаются перед назначением – accelerate