2014-09-18 2 views
-1

Я новичок в написании сценариев python и мне необходимо создать скрипт для WebLogic Server. Требование состоит в том, чтобы использовать файл (тип .rpd) из назначенного местоположения для развертывания. Тип файла останется таким же, но имя файла изменится.Назначение переменной для динамического имени файла в Python

Учитывая это условие, я попробовал следующие методы при назначении файла переменной. Оба метода ниже не работают.

rpdfile = "*.rpd" 
rpdlocation = "/u02/RPD_Upload/"+rpdfile+ 

или

rpdlocation = "/u02/RPD_Upload/*.rpd 

я получаю недопустимый синтаксическую ошибку во время выполнения питона. Эксперты, пожалуйста, помогите мне разобраться в назначении таких переменных.

+0

Простые синтаксические ошибки: в первом фрагменте это последний '+', который вызывает проблемы, во втором - закрывать кавычки. Кроме того, если вы собираетесь использовать python, рассмотрите, по крайней мере, skimming через [tutorial] (https://docs.python.org/2/tutorial/). – georg

+0

Спасибо Георгу за то, что он указал на ошибку, а также на введение в учебник. Но я все еще вижу ошибку в stdout, как показано ниже: 'javax.management.RuntimeMBeanException: javax.management.RuntimeMBeanException: Файл репозитория '/u02/RPD_Upload/*.rpd' не существует или недоступен.' Угадайте интерпретатор WLST видит файл как * .rpd, а не (любое имя файла) .rpd. –

+1

Мне кажется, что вам нужен модуль [glob module] (https://docs.python.org/2/library/glob.html), чтобы найти все имена файлов, которые соответствуют маске, и передавать их один за другим вашей службе. – georg

ответ

0

Для вашего первого метода вы не добавляете правильно. У вас есть дополнительный «+» в конце строки. Это должно выглядеть так:

rpdfile = "*.rpd" 
rpdlocation = "/u02/RPD_Upload/" + rpdfile 

Для вашего второго метода вы не закрываете двойную кавычку. См. Ниже:

rpdlocation = "/u02/RPD_Upload/*.rpd" 
+0

Спасибо Mantazer за ваши данные, я перешел эту часть, но я все еще вижу ошибку в stdout, как показано ниже: 'javax.management.RuntimeMBeanException: javax.management.RuntimeMBeanException: файл репозитория '/u02/RPD_Upload/*.rpd' делает не существует или недоступен ». Угадайте, что интерпретатор WLST видит файл как * .rpd сам, а не (любое имя файла) .rpd. –

Смежные вопросы