Вы можете использовать islower()
в своей строке, чтобы увидеть, содержит ли она несколько строчных букв (среди других символов). or
он с isupper()
также проверяет, содержит ли какие-то прописные буквы:
ниже: буквы в строке: test дает true
>>> z = "(555) 555 - 5555 ext. 5555"
>>> z.isupper() or z.islower()
True
ниже: никаких букв в string: test дает false.
>>> z= "(555).555-5555"
>>> z.isupper() or z.islower()
False
>>>
Не смешивать с isalpha()
, который возвращает True
только в том случае, если все символы являются буквами, которые вы не хотите.
отмечают, что ответ Barm отлично дополняет мой, так как мой не обрабатывает смешанный футляр.
Перезагрузите систему / отключите порт. Фактическая проблема заключается в том, когда программа запускает порт, и он не закрывается после завершения программы. он работает.
Убедитесь, что папка / var / lock существует на вашем компьютере.
mkdir /var/lock
chmod go+rwx /var/lock
Я столкнулся с этой проблемой, потому что порт использовался . Предыдущий экземпляр javaw.exe появился в диспетчере задач Windows, он запустил порт.
Причина, по которой этот предыдущий Java-процесс зависала, была аппаратной проблемой: при подключении USB-2-последовательного преобразователя, который я случилось, чтобы использовать в USB-2 порт, все работало нормально. Когда подключен к порту USB-3, код RXTX CommPortIdentifier будет зависать, а затем последующие экземпляры Java получили исключение PortInUseException.
Я использовал Process Explorer для поиска процесса с помощью ручки \Device\PCISerial0
и закрыл дескриптор. Если ваши COM-порты не находятся на карте PCI, имя может отличаться.