Я не уверен, почему я получаю эту ошибку, я использую str.join()
и os.path.join()
в разных точках сценария, это причина?Python: слишком много соединений()?
Использование os.path.join:
from os.path import getsize, dirname, join
class Wav:
src_path = "No path"
dest_path = destination
old_name = "name.wav"
new_name = ""
def __init__(self, path):
self.src_path = path
self.old_name = os.path.split(path)
self.new_name = self.old_name
self.dest_path = join(destination, self.new_name) # error here
Вот моя ошибка:
Traceback (most recent call last):
File "call.py", line 132, in <module>
temp = Wav(temp_path)
File "call.py", line 32, in __init__
self.dest_path = join(destination, self.new_name)
File "/usr/lib/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'tuple' object has no attribute 'startswith'
ли это конфликт с str.join()
или я не импортировать os.path
правильно?
Конечно, я забыл 'os.path.split()' возвращает кортеж! Спасибо, я запустил строку выше, чтобы старое имя было строкой, а не кортежем, исправляя вещи, созданные с помощью self.old_name. – Will
и не забывайте о 'import pdb' и' pdb.set_trace() 'где необходимо, чтобы проверить, что происходит в вашем коде. – hochl