python - 通过 Python 登录 SAP 会话
问题描述
我使用此脚本登录 SAP 会话:
from subprocess import call
import win32com.client
import time
import os
GUIPath = 'C:/Program Files (x86)/SAP/FrontEnd/SAPgui/'
WinTitle = 'SAP'
Name = """PRD"""
SID = 'PRD'
InstanceNo = '01'
shell = win32com.client.Dispatch("WScript.Shell")
call(os.path.join(GUIPath, 'SAPgui.exe') + " " + Name + " " + InstanceNo)
但是,它总是返回错误:
hostname 'PRD' unknown
check you application server name
有谁知道如何解决这个问题?谢谢
解决方案
变量 Name 必须是"PRD"
(字符串本身必须包含双引号)。Python 认为Name = """PRD"""
相同,Name = "PRD"
所以它是不正确的,因为变量 Name 将只包含PRD
(缺少双引号)。
因此,需要使用字符串反斜杠(或此处Name = "\"PRD\""
提到的其他可能性)来维护变量名称中的双引号。
完整代码:
from subprocess import call
import win32com.client
import time
import os
GUIPath = 'C:/Program Files (x86)/SAP/FrontEnd/SAPgui/'
WinTitle = 'SAP'
Name = "\"PRD\""
SID = 'PRD'
InstanceNo = '01'
shell = win32com.client.Dispatch("WScript.Shell")
call(os.path.join(GUIPath, 'SAPgui.exe') + " " + Name + " " + InstanceNo)
推荐阅读
- javascript - Express Router delete with mongoose 不适用于 ES8 语法
- json - 存储大量可查询的 JSON
- android - 如何使用渐变颜色为在bottomNavigationView中选择的图标着色
- javascript - JavaScript 中的@media 屏幕?
- visual-studio - Showing OutputDebugString messages with Window application?
- bash - 创建一个包含 bash 命令替换和参数的 git 别名
- angular - Template parse errors: There is no directive with "exportAs" set to "cdkDropList"
- sql-server - 在 SQL 中计算字符串中每个字母的出现次数
- kubernetes - My worker node status is Ready,SchedulingDisabled
- android - android:how to use viewflipper in listview to animate one row at a time