我在一个bash
环境中工作,我正在尝试列出样本名称; 每个都将被输入一组命令.用R和Python创建列表很容易.但是,我无法确定是否或如何创建和访问等效列表变量bash
.
例如,要在python中创建一个列表,可以写:
samples=[sample1 sample2 sample3]
Run Code Online (Sandbox Code Playgroud)
要访问列表中的第一个变量,可以使用:
currentSample = samples[0]
Run Code Online (Sandbox Code Playgroud)
可以bash
使用文本字符串列表执行类似的操作吗?
我有一个问题
我正在尝试将一些数据发布到网络服务器并获得响应.Webserver具有SSL证书验证,因此我为其提供文件.在响应中我应该收到xml文件,但我收到一些HTML.
我的小脚本看起来像这样:
import requests, sys, os
program_directory=sys.path[0]
verify = os.path.join(program_directory, "test.pem")
data='some data'
print requests.post('https://somewebsite', data=data, verify=verify).text
Run Code Online (Sandbox Code Playgroud)
这就是我在html之前得到的:
C:\Python27\lib\site-packages\requests\packages\urllib3\connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.) SecurityWarning
Run Code Online (Sandbox Code Playgroud)
如果我使用verify=False
并且不提供文件,它可以正常工作并返回正确的数据.什么可能是一个问题,为什么我会收到此警告和HTML?
我试图undo
在我的文本小部件上使用函数,tkinter
但没有任何运气.我这样试过:
from Tkinter import *
from ttk import Notebook
def OnVsb(*args):
text.yview(*args)
numbers.yview(*args)
def OnMouseWheel(event):
text.yview("scroll", event.delta,"units")
numbers.yview("scroll",event.delta,"units")
return "break"
def undo(*argv):
text.edit_undo()
root = Tk()
defaultbg = root.cget('bg')
root.bind('<Control-z>', undo)
note = Notebook(root)
frame = Frame(note, bd=5, relief=GROOVE, padx=5, pady=5)
frame.pack()
bar = Scrollbar(frame, command=OnVsb)
bar.pack(side=RIGHT, fill=Y)
numbers = Listbox(frame, width=5, height=30,bg=defaultbg,relief=FLAT, yscrollcommand=bar.set)
numbers.pack(side=LEFT, fill=Y)
text = Text(frame,bd=3, width=145, height=30, yscrollcommand=bar.set)
text.pack(side=LEFT, fill=Y)
text.bind("<MouseWheel>", OnMouseWheel)
text.tag_config("attr", foreground="tomato")
text.tag_config("value", foreground="dark violet")
text.tag_config("tags", foreground="dodger blue")
text.tag_config("text", font=("Georgia", …
Run Code Online (Sandbox Code Playgroud) 我有一个字符串,可以是以下两种形式之一:
name multi word description {...}
Run Code Online (Sandbox Code Playgroud)
要么
name multi word description [...]
Run Code Online (Sandbox Code Playgroud)
其中{...}
和[...]
是有效的JSON。我对仅解析字符串的JSON部分感兴趣,但是我不确定做到这一点的最佳方法(尤其是因为我不知道字符串将是两种形式中的哪种)。这是我目前的方法:
import json
string = 'bob1: The ceo of the company {"salary": 100000}'
o_ind = string.find('{')
a_ind = string.find('[')
if o_ind == -1 and a_ind == -1:
print("Could not find JSON")
exit(0)
index = min(o_ind, a_ind)
if index == -1:
index = max(o_ind, a_ind)
json = json.loads(string[index:])
print(json)
Run Code Online (Sandbox Code Playgroud)
它有效,但是我不禁觉得它可以做得更好。我以为可能是正则表达式,但是在匹配子对象和数组而不是最外层的json对象或数组时遇到了麻烦。有什么建议么?
我有一个列表,我试图将其与其他两个列表中的值的顺序组合进行比较。下面的代码有效,但输出值位于单个平面列表中。
values = [3,6,7,8]
list1 = [2,5]
list2 = [4,8]
main = []
for i in values:
for x,y in zip(list1, topElevation):
if x<i<y:
main.append(i)
>>>[3,6,7]
Run Code Online (Sandbox Code Playgroud)
如何组织脚本,以便将值拆分为多个列表,以便第一个嵌套列表采用list1[0]<i<list2[0]
、第二个list1[1]<i<list2[1]
等等的所有值...(通过list1[n]<i<list2[n]
)?在这种情况下,输出将是:
>>>[[3],[6,7]]
Run Code Online (Sandbox Code Playgroud) 我正在学习 Python,正在使用 MediaFire 的 API,并尝试自动化一些简单的流程。但是在通过 POST 获取会话令牌后,我遇到了一些困惑。问题是我不确定如何从响应中提取令牌。以下是获取会话令牌的调用:
import hashlib
import time
import urllib.request
token = hashlib.sha1()
token.update("calvinrock0406@gmail.comheaven3610255k592k2di4u9uok3e8u9pkfepjfoc809kfutv5z".encode('utf-8'))
token_dig = token.hexdigest()
with urllib.request.urlopen("https://www.mediafire.com/api/user/get_session_token.php?application_id=36102&signature=" + token_dig + "&email=calvinrock0406@gmail.com&password=heaven&token_version=2&response_format=json") as response:
html = response.read()
Run Code Online (Sandbox Code Playgroud)
这是我从电话中得到的回复:
b'{"response":{"action":"user\\/get_session_token","session_token":"618679cd5046c48fface93dee366a1a07eacfefc5bce88173d5118bb3f128f539602dc54f6d667825a376bc2f86b41a5b1cbe178cd45dfcb4ddfc8e9652f7c529db233181655ec42","secret_key":"774329384","time":"1454700043.4884","ekey":"a84adbba31f9ae8ef717486616a97c63","pkey":"b4dfdc307d","result":"Success","current_api_version":"1.5"}}'
Run Code Online (Sandbox Code Playgroud)
对菜鸟的任何帮助将不胜感激
我想知道是否可以移动到tkinter中文本小部件中的特定位置.我在文本小部件中实现了搜索,并希望实现"next"和"previous"方法,以便我的搜索在文本小部件中移动.有可能吗?谢谢你的帮助.
这是我的方法的代码:
def find():
xml.tag_delete("search")
xml.tag_configure("search", background="green")
start="1.0"
if len(fi.get()) > 0:
xml.mark_set("insert", xml.search(fi.get(), start))
while True:
pos = xml.search(fi.get(), start, END)
if pos == "":
break
start = pos + "+%dc" % len(fi.get())
xml.tag_add("search", pos, "%s + %dc" % (pos,len(fi.get())))
Run Code Online (Sandbox Code Playgroud)
fi
是搜索模式的输入字段.xml
是一个文本字段.
我的 php.ini 内存限制 = 128M 我想用 sed 命令替换它。
我已经尝试过这个,但它不起作用
sed -i '' 's/memory_limit\s*=\s*\d*M/memory_limit = 1024M/g' ~/Desktop/php.ini
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?我将其复制到桌面,这样在实际运行之前就不会修改原始版本
我想将值附加到字典中的键,其中值实际上是列表.可能有一个列表,或者可能有多个列表.
我正在尝试这样做的当前方式,我尝试添加的新列表只是覆盖了最后一个列表.据我所知,我不能将列表附加到这样的字典:
my_dict.append(my_list))
Run Code Online (Sandbox Code Playgroud)
当前代码互相覆盖:
urls[domain] = [uri, datecreated]
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样,怎么样?
示例结果如下所示
print all keys and values in urls{}:
google.com : ['/helloworld', 2010-04-02], ['/apage/anotherpage', 2015-09-12]
microsoft.com : ['/awebpage', 2009-02-01], ['/bananas', 2015-12-24], ['/anothergreaturi', 205-12-10]
Run Code Online (Sandbox Code Playgroud) 这是代码:
import requests
import bs4
response = requests.get('http://discoverygc.com/forums/serverinterface.php?action=players_online') #Loads page
soup = bs4.BeautifulSoup(response.text)
table = soup.find("div", {"id": "forum"})
rowsNo = (str(table).count('<tr>') - 2) #Number of players online. Minus 2 to remove leading title and column description rows
players = systems = [] #Define lists
for i in range(3, (rowsNo + 3)):
rows = table.findAll('tr')[i]
cols = rows.findAll('td')
player = cols[0].get_text()
system = cols[1].get_text()
players.append(player)
systems.append(system)
print(players)
print(systems)
Run Code Online (Sandbox Code Playgroud)
如果我删除任何一个players.append(player)
或systems.append(system)
代码工作正常并输出正确的列表:
['-Vasqez-', '[-=XTF=-]Neon.Bunny-[R]', "[SV]-Valley'", '<-JohnyWalker->', '~VP)Bad.Tibira', 'Alkanius', 'Apex91', 'Araroba', …
Run Code Online (Sandbox Code Playgroud) python ×8
python-2.7 ×6
list ×4
python-2.x ×4
bash ×2
python-3.x ×2
regex ×2
text-widget ×2
tkinter ×2
dictionary ×1
json ×1
linux ×1
macos ×1
nested ×1
object ×1
post ×1
sed ×1
ssl ×1
unix ×1