我使用这个模块:https : //github.com/jaraco/path.py
我有一个需要字符串的函数。我没有找到任何可以将总路径作为字符串提供给我的函数。
from path import *
import paramiko
if __name__ == "__main__":
hostname = 'localhost'
username = '**'
password = '**'
port = 22
transport = paramiko.Transport((hostname, port))
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
path = path('~/folder/')
filename = path.joinpath('foo')
f = sftp.open(filename, 'r') #open needs a string
Run Code Online (Sandbox Code Playgroud)
你有想法吗 ?
先感谢您
我尝试创建一个简单的chrome扩展,在chrome的上下文菜单中添加一个选项.
这是我的manifest.json
{
"manifest_version": 2,
"background": "background.html",
"description": "Add a context menu item to search for selected text at Google Maps.",
"icons": {
"16": "icon16.png"
},
"name": "Google Maps Right Click",
"permissions": [ "contextMenus", "tabs" ],
"version": "1.0"
}
Run Code Online (Sandbox Code Playgroud)
在这里我的background.html:
<script>
function searchgooglemaps(info)
{
var searchstring = info.selectionText;
chrome.tabs.create({url: "http://maps.google.com/maps?q=" + searchstring})
}
chrome.contextMenus.create({title: "Search Google Maps", contexts:["selection"], onclick: searchgooglemaps});
</script>
Run Code Online (Sandbox Code Playgroud)
但是,当我加载扩展程序并右键单击某个选项时,"搜索Google地图"按钮不会出现,我不明白为什么......
预先感谢您的帮助.
我尝试实现一个重定向系统。
如果我在应用程序处于后台时收到通知(来自 Firebase 消息传递),我会将发送的路线信息(例如:redirect = /medias/details/430)存储在共享首选项中。
当应用程序打开时,我检查sharedPrefs(在主要部分),如果找到重定向字符串,我将其添加到流中:
MainSingleton().notificationStream.sink.add(redirectTo);
Run Code Online (Sandbox Code Playgroud)
在我的主页中initState,我检查流中是否存在重定向,如果是这种情况,我将用户重定向到正确的页面:
void initState() {
super.initState();
MainSingleton().notificationStream.stream.listen((redirect) {
if (redirect != null) {
log("Home page found a redirect request: going to $redirect");
WidgetsBinding.instance!.addPostFrameCallback((_) {
log("Callback called");
Application.router.navigateTo(context, redirect);
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
"Home page found a redirect request..."当我单击通知时,我收到了消息,但没有收到消息"Callback called",显然也没有收到重定向消息。
我需要再次将应用程序设置在后台,然后再次恢复它以获得重定向。
WidgetsBinding.instance不为空,所以我不知道为什么回调没有被调用。
我有什么地方说错了吗?
我在上传Flickr API的图像时遇到问题.
我使用OAuthLib请求(https://github.com/requests/requests-oauthlib)
Flickr文档:https://secure.flickr.com/services/api/upload.api.html
我的代码:
params = {
'format' : 'json',
"nojsoncallback" : "1",
'api_key' : 'my_api_key',
}
with open('myfile.jpg', 'rb') as f:
files = {'file': f}
r = the_oauth_requests_session.post('https://up.flickr.com/services/upload/', params=params, files=files)
print r.content
Run Code Online (Sandbox Code Playgroud)
但在内容中我可以找到这个错误:'没有指定照片'.
上传照片的方式是什么?
我已通过身份验证,其他api调用完美(例如'flickr.photosets.create')
先感谢您
我使用 python-nautilus 模块,并尝试添加自定义标志(图标覆盖),如下所示:

但我没有发现任何相关信息。
我可以使用以下代码添加像“多媒体”这样的现有标志:
import os.path
from gi.repository import Nautilus, GObject
class OnituIconOverlayExtension(GObject.GObject, Nautilus.InfoProvider):
def __init__(self):
pass
def update_file_info(self, file):
if os.path.splitext(file.get_name())[1] == "fileWithEmblem":
file.add_emblem("multimedia")
Run Code Online (Sandbox Code Playgroud)
但我想添加我自己的图标。
file.add_emblem("my_super_icon.ico")
Run Code Online (Sandbox Code Playgroud)
你有想法吗 ?我怎样才能做到这一点 ?
先感谢您 !
我想管理我的小部件之间的空间,verticaly和horizontaly.
这是一张说明我想要的图片:

当我点击红点时,我想减少/扩展红线所在的空间(垂直).
当我点击蓝点时,我想缩小/扩展蓝线所在的空间(水平).
我的架构是这样的:
一个带有布局的主Widget,其中包含左/右箭头按钮和所有白色视图的QWidget.
这个QWidget包含一个QGridLayout.在这个QGridLayout中,我有"左","后"......小部件(截图中为白色).
我试着设置VIEW-> setContentsMargins(); 但是白色矩形保持不变,只有这个矩形内的间距发生变化(例如边框和"左"标签之间的距离(屏幕上的1和2)).
我还尝试设置GRIDLAYOUT-> setContentsMargins(); 但这次只有屏幕上3号和4号的间距发生变化.
显然,水平调整大小有相同的行为.(截图上的蓝色标记.
间距不允许分别管理垂直和水平间距......
我希望你理解我试图解释的内容:o
我该怎么办呢?
先感谢您,
我需要设置一个 S3 存储桶来为我的 Django 静态文件提供服务,当我尝试添加 CORS 策略时,我得到以下结果:
Expected params.CORSConfiguration.CORSRules to be an Array
Run Code Online (Sandbox Code Playgroud)
我首先尝试了这个政策:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://www.example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我看到亚马逊已将格式更改为 JSON ( https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors )。
所以我尝试了他们的 JSON 示例:
{
"CORSConfiguration":{
"CORSRule":[
{
"AllowedOrigin":[
"http://www.example.fr"
],
"AllowedMethod":[
"PUT",
"POST",
"DELETE"
],
"AllowedHeader":[
"*"
]
},
{
"AllowedOrigin":[
"*"
],
"AllowedMethod":[
"GET"
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我得到了完全相同的错误。
所以我在 stackoverflow 上搜索并看到了这个线程:无法更新 AWS S3 CORS 策略
我尝试了给定的语法,但没有成功:/
如果有人有想法,那就太好了:)