2011-02-09 4 views
0

나는 파이썬 스크립트를 작성하지만,있어, 체크 디렉토리, 파일 생성 등과 같은 경우에 I가 사용자 입력 얻기 위해 이것을 사용하고파이썬 함수의 문자열 변수는 무엇입니까?

여러 독침을 사용할 수 없습니다 : drive = raw_input('enter drive name to make backup ')

if not os.path.exists('/media/%s/backup' %drive): 
    os.mkdir('/media/%s/backup' %drive) 

을 ........ 위의 코드가 작동하지만, 아래의 tar 파일이 오류를주고있다

./backup4.py 
enter drive name to make backup PENDRIVE 
Traceback (most recent call last): 
    File "./backup4.py", line 17, in <module> 
    tarFile = tarfile.open("/media/%s/backup/%s.tar.bz2" %drive %dateVar, 'w:bz2') 
TypeError: not enough arguments for format string 


tarFile = tarfile.open("/media/%s/backup/%s.tar.bz2" %drive %dateVar, 'w:bz2') 
내가 tarfile.open 이상 변경할 사항

?

답변

6

문자열 형식이 잘못되었습니다. 문자열에있는 대입의 양과 동일한 수의 튜플을 전달해야합니다.

tarFile = tarfile.open("/media/%s/backup/%s.tar.bz2" % (drive, dateVar), 'w:bz2') 
+0

간단한 문자열 조작에 감사드립니다. –

2

내가 코드를 다음 코드에서와 같이 tarfile.open()에서 서식 물건을 유지하기 위해 제안 : 당신이 적절한 형식으로 FILE_NAME을 다시 사용할 수 있습니다 이런 식으로

file_name = "/media/{0}/backup/{1}.tar.bz2".format(drive, dateVar) 
tarFile = tarfile.open(file_name, 'w:bz2') 

스크립트의 다른 부분에서