我必须先说这是一个新手(学习),所以请放弃对一个对你的世界有限的人(Python)的显而易见的疏忽.
我的目标是从用户获取字符串并将其转换为Hex和Ascii字符串.我能够用hex(encode("hex"))成功完成这个,但ascii不是这样.我发现了这个ord()方法并尝试使用它,如果我只使用:print ord(i),循环遍历并将值垂直打印到屏幕上,而不是我想要它们.所以,我试图用字符串数组捕获它们,这样我就可以将它们连接到一行字符串,在"Hex"值下水平打印它们.我只是用尽了我的资源来搞清楚...任何帮助都是谢谢.谢谢!
while True:
stringName = raw_input("Convert string to hex & ascii(type stop to quit): ")
if stringName == 'stop':
break
else:
convertedVal = stringName.encode("hex")
new_list = []
convertedVal.strip() #converts string into char
for i in convertedVal:
new_list = ord(i)
print "Hex value: " + convertedVal
print "Ascii value: " + new_list
Run Code Online (Sandbox Code Playgroud) 让我先说一下:我是Pyhon的新手!我写了一堆模块来通过命令行驱动用户交互式应用程序.另外,有人建议我查看使用cmd模块.我在一些网站上看过它,但仍不确定如何使用它.我没有阅读障碍或类似的东西,但我很难消化技术文献(没有例子)......我是一个视觉学习者,如果我能看到一个好的,明确的例子,那就是跟我一起度过一生.谁能给我一个关于如何使用cmd模块的简短介绍......?在那之前,我会继续搜索Google以获得很好的例子.我可能会很幸运...谢谢!
我正在使用 pywinauto 列出特定应用程序的控件标识符。我可以做到这一点。但是,我想将这些控件标识符保存到文件中,或者更好地将它们分配给字符串或列表,但无法写入或分配它们......有谁知道如何以编程方式将这些标识符获取到文件或内存?
示例代码:
import os
import time
from pywinauto import application
from SendKeys import SendKeys
app=application.Application()
app.start_(r"C:\Program Files\myapp.exe")
app.dlg.print_control_identifiers()
Control Identifiers:
Button - 'Exit' (L900, T649, R975, B672)
'Button' 'Button0' 'Button1' 'Exit' 'ExitButton'
Button - 'About' (L339, T646, R410, B672)
'About' 'AboutButton' 'Button2'
...
...
...
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
my_App_ci = app.dlg.print_control_identifiers()
Run Code Online (Sandbox Code Playgroud)
和:
my_App_ci = []
my_App_ci.append(app.dlg.print_control_identifiers())
Run Code Online (Sandbox Code Playgroud)
无济于事....
首先,我欣赏任何给出的方向......让我先说一下,我正在学习Javascript和HTML.
我的问题是我试图调用我的函数来更新音频时间,如下所示:
<audio id="track" preload="auto" type="audio/mpeg" ontimeupdate="displayTime(this)">
<source src="mp3/mysong.mp3" type="audio/mpeg">
Unsupported audio format!
</audio>
Run Code Online (Sandbox Code Playgroud)
我的函数在Javascript IFFE函数中:
$(document).ready(function () {
... /*Global Variables*/
...
function displayTime(event) {
sec = Math.floor(event.duration);
min = Math.floor(sec / 60);
min = min >= 10 ? min : '0' + min;
sec = Math.floor(sec % 60);
sec = sec >= 10 ? sec : '0' + sec;
ct_sec = Math.floor(event.currentTime);
ct_min = Math.floor(ct_sec / 60);
ct_min = ct_min >= 10 ? ct_min : '0' + ct_min; …Run Code Online (Sandbox Code Playgroud) 谁能告诉我为什么我收到以下错误:
Traceback (most recent call last):
File "C:\Python27\connect.py", line 22, in <module>
sftp.get(filepath, localpath)
File "C:\Python27\lib\site-packages\paramiko-1.7.6-py2.7.egg\paramiko\sftp_client.py", line 603, in get
fl = file(localpath, 'wb')
IOError: [Errno 13] Permission denied: 'C:\\remote'
Run Code Online (Sandbox Code Playgroud)
我在登录 Ubuntu 10.10 机器的 Windows 7(以管理员身份)机器上使用 Python 2.7。这是我正在使用的非常直接的脚本:
import paramiko
import os
paramiko.util.log_to_file('c:\Python27\paramiko-wininst.log')
host = '192.168.1.14'
port = 22
transport = paramiko.Transport((host,port))
password = 'xxxxxx'
username = 'username'
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
filepath = '/home/my.log'
localpath = 'C:\\remote'
sftp.get(filepath, localpath)
sftp.close()
transport.close()
Run Code Online (Sandbox Code Playgroud) 我如何通过for循环将元素迭代到一个列表,我可以在以后的代码中将它们打印出来?例如:
for fname in dirlist:
if fname.endswith(('.tgz','.tar')):
print fname
Run Code Online (Sandbox Code Playgroud)
fname仅显示循环中来自dirlist的所有元素.我想在我的代码中查看其他区域的元素.我试过li = fname ...但是只显示了一个元素,实际上大约有7个元素.谢谢!
我正在使用Paramiko模块登录服务器(某些服务器上的ssh和其他服务器上的sftp).我可以从服务器上的特定文件夹中获取文本和日志文件没问题.但是有许多子目录都有.txt和.log文件.我读了一些get方法不接受的地方(*.txt).有没有人知道解决这个问题的方法.这是我目前用于登录服务器并获取特定日志的代码:
import paramiko
import sys
import os
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.5.48.74', username='root', password='******')
ftp = ssh.open_sftp()
ftp.get('/var/opt/crindbios/log/crindbios.log', '.')
ftp.close()
Run Code Online (Sandbox Code Playgroud) 我正在尝试找到列举列表中项目的最直接的方法,这样用户就不会在命令行上输入长文件名.下面的函数向用户显示文件夹中的所有.tgz和.tar文件......然后允许用户输入他想要提取的文件的名称.这对于用户来说是单调乏味并且语法错误.我想让用户只选择与文件相关的数值(例如.. 1,2,3等).有人可以给我一些方向吗?谢谢!
dirlist=os.listdir(path)
def show_tgz():
for fname in dirlist:
if fname.endswith(('.tgz','.tar')):
print '\n'
print fname
Run Code Online (Sandbox Code Playgroud) 我正在使用下面的正则表达式来匹配三种不同类型的字符串.我很难确定在哪里添加不区分大小写的模式,以匹配大写或小写(例如.re.IGNORECASE或([A-Za-z0-9]+)).我应该尝试不同的东西吗?
regex = re.compile( "(%s|%s|%s)" % ( re.escape( userstring ), re.escape( userStrHEX ), re.escape( userStrASCII ) )
Run Code Online (Sandbox Code Playgroud) 以下代码允许我提取 .tgz 文件。但是,它在下降大约两个级别后停止提取;还有其他子文件夹包含需要提取的 .tgz 文件。此外,当我提取一个文件时,我必须手动将它移动到另一个路径,否则它会被我提取到该位置的其他 .tgz 文件覆盖(我使用的所有 .tgz 都具有相同的文件结构/文件夹名称一旦提取)。任何帮助表示赞赏。谢谢!
import os, sys, tarfile
def extract(tar_url, extract_path='.'):
print tar_url
tar = tarfile.open(tar_url, 'r')
for item in tar:
tar.extract(item, extract_path)
if item.name.find(".tgz") != -1 or item.name.find(".tar") != -1:
extract(item.name, "./" + item.name[:item.name.rfind('/')])
try:
extract(sys.argv[1] + '.tgz')
print 'Done.'
except:
name = os.path.basename(sys.argv[0])
print name[:name.rfind('.')], '<filename>'
Run Code Online (Sandbox Code Playgroud)