我开始学习Python,并在尝试从文件中读取值时遇到一些问题.
我的参数文件有点像这样:
var1 11111111
path_value "some/space containing path/file.txt"
var3 something
#some other values
var4 some/value1
var5 some/value2
var6 some/value3
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
file=open('this_file.txt')
for line in file:
fields = line.strip().split()
if(fields[0] in "var1"):
## this will give me 11111111
var_1_value=fields[1]
if(fields[0] in "path_value"):
## this will give me only till "/some/space
path_value_contains=fields[1]
Run Code Online (Sandbox Code Playgroud)
如何正确获取路径?我不确定这是一种有效的做事方式.你能告诉我任何更好的方法吗?
我没有使用任何模块.
以下是" Google I/O 2012 - Go Concurrency Patterns "(幻灯片)中的代码示例
package main
import (
"fmt"
"time"
)
func main() {
joe := boring("Joe")
ann := boring("Ann")
for i := 0; i < 5; i++ {
fmt.Println(<-joe)
fmt.Println(<-ann)
}
fmt.Println("The end")
}
func boring(msg string) <-chan string {
c := make(chan string)
go func() {
for i := 0; ; i++ {
c <- fmt.Sprintf("%s %d", msg, i)
time.Sleep(time.Second)
}
}()
return c
}
Run Code Online (Sandbox Code Playgroud)
输出:
Joe 0
Ann 0
Joe …
Run Code Online (Sandbox Code Playgroud) 我试过这个代码:
import os
os.system("gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/wallpapers/X")
Run Code Online (Sandbox Code Playgroud)
user
我的名字和X
照片在哪里。
但是它没有将背景更改为给定图片,而是设置了默认的 Ubuntu 壁纸。
我究竟做错了什么?
我想使用以下 Python 代码:
initialMinute = int(input('In the initial hour of {0}:00, enter the minute of arrival'.format(initialHour))
Run Code Online (Sandbox Code Playgroud)
它有点长,所以我不想把它写成一行。我如何分解该语句,使其包含两行?
我正在使用 Python 2.7、PyCharm 和 Anaconda,
我有一个list
日期,我想检索数组中存在的每个月的最后一个日期。
有没有任何函数或库可以帮助我做到这一点?
我从 CSV 文件中读取日期并将其存储为datetime
.
我有以下代码:
Dates=[]
Dates1=[]
for date in dates:
temp=xlrd.xldate_as_tuple(int(date),0)
Dates1.append(datetime.datetime(temp[0],temp[1],temp[2]))
for date in Dates1:
if not (date<startDate or date>endDate):
Dates.append(date)
Run Code Online (Sandbox Code Playgroud)
为了说清楚,假设我有:
Dates = [2015-01-20, 2015-01-15, 2015-01-17, 2015-02-21, 2015-02-06]
Run Code Online (Sandbox Code Playgroud)
(考虑它是datetime
格式化的。)
我想要检索的列表是:
[2015-01-20, 2015-02-21]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经用谷歌搜索过,尤其是在 Stack Overflow 中,但我只能找到如何获取每个月最后日期的答案,而不能从用户指定的列表中找到答案。
我有一个带文本的HTML文档.我想做到的是,当你点击一个上div
元素,在id
那div
所示.
我试过这个:
window.onload = function() {
associateIds();
clicked();
}
function associateIds() {
var all = document.getElementsByTagName("*");
var id = -1;
for (var elem = 0; elem < all.length; elem++) {
if (all[elem].tagName == "DIV") {
id++;
all[elem].setAttribute("id", id);
}
}
}
function clicked() {
document.body.onclick = function(evt) {
var evt = window.event || evt; //window.event for IE
if (!evt.target) {
evt.target = evt.srcElement; //extend target property for IE
}
alert(evt.target.id);
}
}
Run Code Online (Sandbox Code Playgroud)
<div>
<h1>MAIN …
Run Code Online (Sandbox Code Playgroud)我正在解决编码问题并编写一个函数,该函数将以类似蜗牛的模式遍历嵌套数组(此处示例).
例如,给定输入[[1,2,3], [8,9,4], [7,6,5]]
,该函数应输出[1,2,3,4,5,6,7,8,9]
.
在我的main函数中,我创建了4个函数来遍历所有方向的数组.在每个步骤中,我将值推到当前网格位置并检查标志数组以确定是否已访问下一个位置.
我有两个问题:
array.slice(0)
,新的东西flagsArray
似乎也是一个指针array
,当我修改时flagsArray
,这些变化就会反映出来array
.这是为什么?我运行此测试时,我的克隆方法似乎有效:
var array = [0, 1];
var array_clone = array.slice(0);
array_clone[2] = 3;
console.log(array); // No changes to array
Run Code Online (Sandbox Code Playgroud)
flagsArray[(i + 1)] is undefined
错误,而执行traverseDown().这看起来像是试图阅读超越的索引flagsArray
.但是如果我flagsArray[i + 1][j] === false && i < flagsArray.length
在一个while
循环中检查,那么一旦它试图超出数组读取,循环是否应该停止?因为一个因为flagsArray[flags.Array.length]
未定义,因此不等于false
,另一个原因是我也检查i
是否在flagsArray
范围内.这是我的功能:
snail = function(array) {
console.log(array);
var output = …
Run Code Online (Sandbox Code Playgroud) 如何将字符串转换为Go中的二进制表示?
例:
输入:"A"
输出:"01000001"
在我的测试中,fmt.Sprintf("%b", 75)
只适用于整数.
我正在尝试从范围集合中删除重叠值.
范围由如下字符串表示:
499-505 100-115 80-119 113-140 500-550
我希望将上述内容减少到两个范围:80-140 499-550
.这涵盖了所有值,没有重叠.
目前我有以下代码.
cr = "100-115 115-119 113-125 80-114 180-185 500-550 109-120 95-114 200-250".split(" ")
ar = []
br = []
for i in cr:
(left,right) = i.split("-")
ar.append(left);
br.append(right);
inc = 0
for f in br:
i = int(f)
vac = []
jnc = 0
for g in ar:
j = int(g)
if(i >= j):
vac.append(j)
del br[jnc]
jnc += jnc
print vac
inc += inc
Run Code Online (Sandbox Code Playgroud)
我将数组拆分-
并将范围限制存储在ar …
我正在学习Go语言.这是我遇到的一个例子.有人可以解释一下这里发生了什么吗?
package main
import "time"
import "fmt"
func main() {
c1 := make(chan string)
c2 := make(chan string)
go func() {
time.Sleep(time.Second * 1)
c1 <- "one"
}()
go func() {
time.Sleep(time.Second * 2)
c2 <- "two"
}()
for i := 0; i < 2; i++ {
select {
case msg1 := <-c1:
fmt.Println("received", msg1)
case msg2 := <-c2:
fmt.Println("received", msg2)
default:
fmt.Println("Default")
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Default
Default
Program Exited
Run Code Online (Sandbox Code Playgroud)
如果我注释掉默认部分
//default:
// fmt.Println("Default")
Run Code Online (Sandbox Code Playgroud)
输出变为:
received one
received two …
Run Code Online (Sandbox Code Playgroud)