我正在python中编写一个简短的脚本,它将扫描图像文件的文件夹列表,然后重新组织它们.
组织它们的一种可选方式是我们希望它们创建日期.
目前,我正在尝试按如下方式阅读图像创建日期
import os.path, time
f = open("hi.jpg")
data = f.read()
f.close()
print "last modified: %s" % time.ctime(os.path.getmtime(f))
print "created: %s" % time.ctime(os.path.getctime(f))
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误
Traceback (most recent call last):
File "TestEXIFread.py", line 6, in <module>
print "last modified: %s" % time.ctime(os.path.getmtime(f))
File "/usr/lib/python2.7/genericpath.py", line 54, in getmtime
return os.stat(filename).st_mtime
TypeError: coercing to Unicode: need string or buffer, file found
Run Code Online (Sandbox Code Playgroud)
谁能告诉我它意味着什么?
我对查询元素何时/如何更新感到困惑。例如:
我有一个可以计数的按钮。当数到3时,它就消失了。
import React, { useState } from "react";
export default () => {
const [count, setCount] = useState(0);
return (
<div>
{count < 3 && (
<button onClick={() => setCount(count + 1)}>{count}</button>
)}
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
我正在像这样测试它:
test("Counter counts up and disappears", () => {
const { queryByText } = render(<App" />);
const button = queryByText("0");
expect(button.textContent).toEqual("0");
fireEvent.click(button);
expect(button.textContent).toEqual("1");
fireEvent.click(button);
expect(button.textContent).toEqual("2");
fireEvent.click(button);
expect(button).toBe(null);
});
Run Code Online (Sandbox Code Playgroud)
测试失败并出现以下错误:
expect(received).toBe(expected)
Expected value to be (using ===):
null
Received:
<button>2</button>
Run Code Online (Sandbox Code Playgroud)
为什么按钮元素知道其文本内容已更改?我们不需要在每次点击后运行queryByText("1")and 。 …
前几天我注意到 ESLint 允许我使用未定义的变量。这是一个简单的例子:
import React from 'react';
export default class test extends React.Component {
render(){
var a = b;
var b = 1;
return <h1>{a}</h1>
}
}
Run Code Online (Sandbox Code Playgroud)
带有 ESLint 插件的 Visual Studio Code 不会在第一个“b”下绘制红线。使用 webpack 编译时,没有 eslint 错误。在浏览器中运行时,控制台甚至不会记录任何错误。我知道出现问题的唯一方法是屏幕上没有显示任何内容。
奇怪的是,如果我删除 'var b = 1',ESLint 会给我一个错误,指出 b 未定义。
这是我的 eslint 配置;没什么特别的
{
"parser":"babel-eslint",
"plugins":[
"react"
],
"rules":{ },
"extends":["eslint:recommended", "plugin:react/recommended"]
Run Code Online (Sandbox Code Playgroud)
}
这里有什么问题?我如何配置 ESLint 来捕获将来类似的错误?
谢谢
如果我想为一个将东西加在一起的计算器编写一个测试。我可能会这样定义我的测试:
const tests = [
{
input: [1, 2],
expected: 3,
},
{
input: [2, 1],
expected: 3,
},
{
input: [3, 4],
expected: 7,
},
{
input: [2, 10],
expected: 12,
},
{
input: [2, 5],
expected: 7,
},
...
]
tests.forEach((t) => {
expect(add(t.input)).toEqual(t.expected)
})
Run Code Online (Sandbox Code Playgroud)
问题是,如果其中一项测试失败,错误只会显示:
Expected: "7"
Received: "10"
216 | tests.forEach((t) => {
> 217 | expect(add(t.input)).toEqual(t.expected)
| ^
218 | })
Run Code Online (Sandbox Code Playgroud)
由此看来,我分不清是3+4算错了,还是2+5算错了。
另一种方法是不使用数组,而是将每个数组定义为自己的测试。然而,这需要更多的代码,并且您需要将expect语句复制粘贴到各处。
那么,测试复杂的计算函数(需要传递许多不同的输入排列以确保其正常工作)的最佳方法是什么?
我正在使用以下python脚本读出数据库:
cur.execute("SELECT * FROM pending where user = ?", (ID))
Run Code Online (Sandbox Code Playgroud)
ID是某人的名字,在这种情况下是"Jonathan".
但是,当我尝试运行此脚本时,我收到错误说
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/cherrypy/_cprequest.py", line 606, in respond
cherrypy.response.body = self.handler()
File "/usr/lib/pymodules/python2.7/cherrypy/_cpdispatch.py", line 25, in __call__
return self.callable(*self.args, **self.kwargs)
File "proj1base.py", line 470, in editFriends
cur.execute("SELECT * FROM pending where user = ?", (ID))
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.
Run Code Online (Sandbox Code Playgroud)
我是SQLite的新手,所以我猜我在语法上犯了一个非常愚蠢的错误.然而,在网上搜索了一段时间之后,我似乎找不到与其他人不同的东西.
任何帮助将非常感激.或者如果您需要更多代码,请告诉我.
谢谢
我有一个方法,它将希望注册的用户的用户名和密码写入数据库.在存储他们提供给数据库的用户名和密码之前,我想检查他们选择的用户名是否已存在于"待处理"列表或已批准的"联系人"列表中.
这是我以前用来做的代码:
@cherrypy.expose
def writePending(self, username=None, password=None, message=None, signin=None):
""" Add request of friendship into a database which stores all
pending friendships.
"""
page = get_file(staticfolder + "/html/friendingPage.html")
if username != "" and password != "" and message !="":
con = lite.connect('static/database/Friendship.db')
cur = con.cursor()
with con:
cur.execute("CREATE TABLE IF NOT EXISTS pending(user TEXT, pass TEXT, info TEXT)")
cur.execute("CREATE TABLE IF NOT EXISTS contacts(user TEXT, pass TEXT)")
"Check to see if the username is already registered"
cur.execute("Select * from pending …Run Code Online (Sandbox Code Playgroud) 我是Java的初学者,正在学习使用数组.据我所知,当使用Array的二进制搜索方法时,如果找不到该条目,它将返回一个负数.但是,在下面的代码中,我得到了一个9,10和11的负数.
我想知道是否有人可以帮助指出我做错了什么?谢谢!
String [] oneToSixteen = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"};
System.out.println("Searching for 7: "+ Arrays.binarySearch(oneToSixteen, "7"));
System.out.println("Searching for 8: "+ Arrays.binarySearch(oneToSixteen, "8"));
System.out.println("Searching for 9: "+ Arrays.binarySearch(oneToSixteen, "9"));
System.out.println("Searching for 10: "+ Arrays.binarySearch(oneToSixteen, "10"));
System.out.println("Searching for 11: "+ Arrays.binarySearch(oneToSixteen, "11"));
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
Searching for 7: 6
Searching for 8: 7
Searching for 9: -17
Searching for 10: -2
Searching for 11: -2
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我不确定在Linux中是否有任何不同,但我在网上发现这个:
cout << "Press Enter to Continue...";
cin.ignore(numeric_limits<streamsize>::max(),'\n');
Run Code Online (Sandbox Code Playgroud)
应该足够了,#include<limits>当然在标题中.
但是,它似乎在我的程序中不起作用.
它编译,运行,但它不等待.
基本上,我有一个菜单,导致方法调用显示屏幕上的人员列表.我希望在系统返回菜单之前暂停该列表.
这是菜单中的代码:
//Manager's Menu
void SelectionPage::showManagerMenu(){
char option;
while(true)
{
system("clear"); //Clears the terminal
cout<<" Flat Manager's Menu"<<endl<<endl; //Display manager's menu
cout << "Select Manager option" << endl;
cout << "a) Add a new Flat Member" << endl;
cout << "b) Delete an existing Flat Member" << endl;
cout << "c) List Flat Members" << endl;
cout << "d) Duties" <<endl;
cout << "e) Resources" <<endl;
cout …Run Code Online (Sandbox Code Playgroud) 我试图将图像上任何给定像素的RGB值变为12位二进制,每个通道由4位表示.例如,如果一个像素的红色通道位于"255"或二进制"11111111".我希望将其转换为"1111".
我有一个代码工作,但它很慢,我想知道是否有更好的方法来做到这一点.
这就是我所做的.
这是我的代码:
import java.awt.Component;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LoadImageApp extends Component {
private static int[] rgbArray;
private static double bitPerColor = 4.0;
public static void main(String[] args) {
BufferedImage img = null;
String fileName = "Image.jpg";
try {
//Read in new image file
img = ImageIO.read(new File("src/"+fileName));
}
catch (IOException e){
}
if (img == null) {
System.out.println("No image loaded");
} …Run Code Online (Sandbox Code Playgroud)