os.pathとpathlibを正しく使用する方法が不思議でした。私はディレクトリ(私がすでに行ったもの)を検索し、その後に文字とスペースを入力し、それが何をするかを決めるでしょう。このためpathlib/os.pathなどを正しく使用する
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)
pathlibインポートパスから shutil
輸入OS 輸入はos.path インポートあなたが見ることができるように、search_filesは働くディレクトリを探します。 次の部分は私が混乱している部分です。基本的には、C:\ Program Filesなどのディレクトリを検索した後、新しい行にNを入力して、ディレクトリで必要なものを検索します。
は、Nは、ファイルの正確な名前を探します
C:\Users\Desktop\stuff
N something.txt
のように言います。
正しくやっていますか、それとも別の方法がありますか?
'search_files'は正しく動作しません! 'Path'オブジェクトに関するメソッドを使用して、そのことを発見する必要があります。だから 'if exist:'の代わりに、 'Path'オブジェクトのために常に' True'です。if exist.exists(): 'を実行します。 – tdelaney
'os.path.join(directory)'はあまり面白いことではありません。複数のパスコンポーネントを結合する場合にのみ使用してください。 – tdelaney
exist.existsに変更しましたが、> directory = os.path.join(ディレクトリ)と同じエラーが発生しています UnboundLocalError:ローカル変数 'directory'が割り当て前に参照されています – accelerate