Я делал сценарий, который переименовывает файлы из данного каталога в «CoronaVirus», и при тестировании я заметил, что он делает это только в данном каталоге, а не в его подпапках. Код выглядит примерно так (примечание: этот работает):
import os
PRF = input("Input Directory: ")
def main():
for file in PRF:
for filename in os.listdir(PRF):
i = 0
dst = "CoronaVirus" + str(i)
src = PRF + filename
dst = PRF + dst
os.rename(src , dst)
i += 1
if __name__ == "__main__"":
main()
После того, как я увидел, что он проходит только по указанному каталогу, я попытался добавить новый оператор (извините, если это не так, как он называется ) вызвал subdir, думая, что это заставит его смотреть через папки. Это заставило код выглядеть так:
import os
PRF = input("Input Directory: ")
def main():
for subdir , file in PRF:
for filename in os.listdir(PRF):
i = 0
dst = "CoronaVirus" + str(i)
src = PRF + filename
dst = PRF + dst
os.rename(src , dst)
i += 1
if __name__ == "__main__"":
main()
Но, похоже, это не сработает, поскольку выдает эту ошибку:
Traceback (most recent call last):
File "C:/Users/Acer/Desktop/Python/Pyinstaller/OSM.py", line 17, in <module>
main()
File "C:/Users/Acer/Desktop/Python/Pyinstaller/OSM.py", line 7, in main
for subdir , file in PRF:
ValueError: not enough values to unpack (expected 2, got 1)
Может кто-нибудь объяснить, почему это происходит? Я новичок и хотел бы избежать этой проблемы в будущем. Спасибо!