from Tkinter import *
from tkFileDialog import askopenfilename
from PIL import Image
def main():
filename = askopenfilename(filetypes=[("Jpeg","*.jpg")])
return filename
root = Tk()
button = Button(root,text="Open",command=main)
button.pack()
root.title("Image Manipulation Program")
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我是一般的编程新手,但我试图通过Tkinter GUI库制作成像程序.我需要能够在上面的代码中做的是返回存储在filename中的字符串,以便它在程序的全局范围内,并且我能够使用它.问题是我用按钮调用函数时不知道怎么做.我无法在任何网站上找到这个问题的答案,所以我很感激任何人对这个问题的帮助.
我制作了一个TabBarApplication,并制作了3个控制器,其中1个是继承UITableViewController,我将部分的数量设为"返回1",部分中的行数为"返回2",
我遇到以下问题,为什么?
[UIViewController tableView:numberOfRowsInSection:]: 无法识别的选择器发送到实例0x4e38c50'"
#import <UIKit/UIKit.h>
@interface List : UITableViewController {
}
@end
Run Code Online (Sandbox Code Playgroud)
和.m文件是
#import "List.h"
@implementation List
#pragma mark -
#pragma mark View lifecycle
/*
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
*/
/*
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
*/
/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/ …Run Code Online (Sandbox Code Playgroud) 在python中处理异常时,我发现自己经常重复代码.基本模式是这样的形式:
try:
action_here()
except CommonException1:
Action_always_taken_for_CommonException1()
except CommonException2:
Action_always_taken_for_CommonException2()
except Exception:
Default_action_always_taken()
Run Code Online (Sandbox Code Playgroud)
我想要做的是将一些重复代码抽象出一个函数或类.我知道一种方法是使用异常对象调用异常处理函数,例如:
try:
action_here()
except Exception as e:
handle_exception(e)
Run Code Online (Sandbox Code Playgroud)
然后在此函数中根据类确定异常.
def handle_exception(e):
if type(e) == type(CommonException1()):
Action_always_taken_for_CommonException1()
elif type(e) == type(CommonException2()):
Action_always_taken_for_CommonException2())
else:
Default_action_always_taken()
Run Code Online (Sandbox Code Playgroud)
然而,这感觉笨重而且不优雅.所以我的问题是,处理重复异常处理还有哪些其他选择?
我正在使用 Dozer 将我的 DTO 映射到 JPA 实体。
其中一个用例是一个已经存在的实体的DTO表示到达一个WS,然后我使用JPA找到实体,并使用推土机的DTO映射在使用中发现实体地图(源,目的地)的映射方式(不是map(source, destinationClass))。
我的实体(例如地址)上有一些值对象(具有经典的不可变值对象语义)作为 @Embeddables。问题是,我希望推土机在将其设置为例如:Employee 对象时始终创建一个新的Address 实例,而不是映射到已经存在的 Address 实例。
因此,对于以下课程:
public class Employee {
private Address address;
public void setAddress(Address address) {
this.address = address;
}
public Address getAddress() {
return this.address;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望推土机总是使用新的地址实例调用 setAddress(),而不是尝试使用 getAddress() 映射新地址的字段。
有没有办法做到这一点?
我想创建一个.txt文件并将其存储在Android手机的外部存储上.我将权限添加到Android Manifest中.当我运行代码时,它不会给我任何错误,但永远不会创建该文件.不确定我做错了什么.
public void createExternalStoragePrivateFile(String data) {
// Create a path where we will place our private file on external
// storage.
File file = new File(myContext.getExternalFilesDir(null), "state.txt");
try {
FileOutputStream os = null;
OutputStreamWriter out = null;
os = myContext.openFileOutput(data, Context.MODE_PRIVATE);
out = new OutputStreamWriter(os);
out.write(data);
os.close();
if(hasExternalStoragePrivateFile()) {
Log.w("ExternalStorageFileCreation", "File Created");
} else {
Log.w("ExternalStorageFileCreation", "File Not Created");
}
} catch (IOException e) {
// Unable to create file, likely because external storage is
// not currently mounted. …Run Code Online (Sandbox Code Playgroud) 我一直在谷歌搜索,试图找到一种方法来创建一个创建目录结构的脚本.看起来像这样:
/ shared shared/projects shared/series shared/movies shared/movies/action
你明白了.
脚本从中读取的文件如下所示:
shared backup shared data shared projects shared projcets series shared projects movies shared projects movies action
我想创建一个脚本来读取文件中的每一行并为每一行运行以下内容:如果目录存在,它将自己放在目录中并从那里创建结构,如果该目录不存在,则创建它.
当行中的所有条目都在前面时,返回原始目录并阅读下一行.
我的系统是Ubuntu 10.10.
到目前为止,我已经做到了这一点,但它不起作用.
#!/bin/bash
pwd=$(pwd)
for structure in ${column[*]}
do
if [ $structure ]
then
cd $structure
else
mkdir $structure
fi
done
cd $pwd
Run Code Online (Sandbox Code Playgroud) 我正在努力解决一个非常简单的问题.facebook文档一如既往,没有给我足够的解释.
我在我的网站上附上了一条facebook评论插件.并使用"comment.create"事件的回调,我可以获得刚创建注释的信息.
FB.Event.subscribe('comment.create', function(response) {
alert(JSON.stringify(response));
});
Run Code Online (Sandbox Code Playgroud)
json响应看起来像:
{"href":"http://siteaddress.com/page.htm", "commentID":"111122223333" }
Run Code Online (Sandbox Code Playgroud)
我现在要做的是使用commentID检索单个注释的数据.虽然我希望以下方式可行:
https://graph.facebook.com/111122223333
Run Code Online (Sandbox Code Playgroud)
它只是给了我"假".我可以使用以下方法检索附加到该页面的所有评论
https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm
Run Code Online (Sandbox Code Playgroud)
但是,检索刚使用commentID创建的单个注释数据的正确方法是什么?
如何仅更新实体上的某些字段?
我有一个像这样的用户实体:
public class User
{
public string UserId { get; set; }
public string PasswordHash { get; set; }
public bool IsDisabled { get; set; }
public DateTime AccessExpiryDate { get; set; }
public bool MustChangePassword { get; set; }
public DateTime DateCreated { get; set; }
public DateTime LastActivity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
因此,例如,如果我想更新用户实体,但又不想更改用户密码,我该怎么做?
目前,我正在使用以下代码更新实体:
using (var _cnt = new STQContext())
{
_cnt.Entry<Item>(item).State = System.Data.EntityState.Modified;
_cnt.SaveChanges();
return;
}
Run Code Online (Sandbox Code Playgroud) 我想在实际设备上测试我的应用程序,那么我该怎么做呢?它是附件sign in和zipalign用于此目的,还是在准备发布我的应用程序时它们很有用?有没有办法在不使用eclipse的情况下在实际设备上测试我的应用程序?