小编use*_*459的帖子

如果已经存在该文件,则在覆盖时重命名文件名的Python程序

正如标题所说,我想要一个更改文件名的python程序,但是如果已经存在具有该目标名称的文件,我想覆盖.

import os, sys

original = sys.argv[1]
output = sys.argv[2]

os.rename(original, output)
Run Code Online (Sandbox Code Playgroud)

但是,当已经存在具有该目标名称的文件时,我的代码只显示了此错误.

  os.rename<original, output>
WindowsError: [Error 183] Cannot create a file when that file already exists
Run Code Online (Sandbox Code Playgroud)

我应该做什么修复?

python rename file-rename python-2.7

13
推荐指数
2
解决办法
2万
查看次数

是否可以搜索 YouTube 字幕?

假设我想查找副标题中包含“法国总统选举”一词的视频列表。

我可以使用 YouTube API 做到这一点吗?

如果它甚至可以在人工生成和自动生成的字幕中搜索,那将是完美的。但是如果它可以搜索两种类型的字幕中的任何一种就足够了。

youtube youtube-api subtitle youtube-javascript-api youtube-data-api

6
推荐指数
1
解决办法
1万
查看次数

为python 2和3安装了Anaconda。无法运行2

我为Python 2和3安装了两个版本的Anaconda。

我添加了路径。

我使用Anaconda提示。

python program.py
Run Code Online (Sandbox Code Playgroud)

假设我使用的是Python3。例如,它无法理解:

print "hello!"
Run Code Online (Sandbox Code Playgroud)

我试过了:

py program.py
py -2 program.py
Run Code Online (Sandbox Code Playgroud)

但是他们没有用。如何运行Python 2程序?

如果输入:

python
Run Code Online (Sandbox Code Playgroud)

在Acaconda提示下,然后说:

python 3.5.1. Anaconda 2.4.1
Run Code Online (Sandbox Code Playgroud)

因此,提示是假设我正在使用Python 3。

但是我有用Python 2编写的程序和用Python 3编写的程序。

我想在两者之间顺利切换。我应该怎么做?

python python-2.7 python-3.x anaconda conda

4
推荐指数
1
解决办法
4064
查看次数

是不是为NaN工作

如果我做

ismember([NaN 0 3 2],[0 NaN])
Run Code Online (Sandbox Code Playgroud)

那么输出就是

0     1     0     0
Run Code Online (Sandbox Code Playgroud)

我明显期待的地方

1     1     0     0
Run Code Online (Sandbox Code Playgroud)

我试过了

ismember(['3' 0 3 2],[0 '3'])
Run Code Online (Sandbox Code Playgroud)

那么输出就是

1     1     0     0
Run Code Online (Sandbox Code Playgroud)

我怎样才能为NaN工作?

matlab nan

4
推荐指数
1
解决办法
490
查看次数

如何基于多个变量创建假人

以下命令可以生成虚拟变量:

tabulate age, generate(I)
Run Code Online (Sandbox Code Playgroud)

但是,当我想要基于多个变量的虚拟对象时,该怎么办?

例如,我想简洁地做以下事情:

generate I1=1 if age==1 & year==2000
generate I2=1 if age==1 & year==2001
generate I3=1 if age==2 & year==2000
generate I4=1 if age==2 & year==2001
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了:

tabulate age year, generate(I)
Run Code Online (Sandbox Code Playgroud)

但是,它没有用。

stata

4
推荐指数
1
解决办法
529
查看次数

每当除以0或发生Inf值时停止或暂停运行MatLab

当有如此多的m文件进行如此多的计算时,跟踪这个和那个出错的原因真的是一个大任务.

通常情况下,代码中的某处除以0,或者为某些变量保存了Inf的值.

我想让这个很容易检查.一种方法是写

if a == Inf
   display('a is infinite')
   keyboard
end
Run Code Online (Sandbox Code Playgroud)

如果我每次为每个变量添加这样的东西,它会起作用,但它会很混乱.

如果某个变量在运行过程中为Inf,我可以让MatLab停止或暂停或弹出警告消息吗?

matlab

3
推荐指数
1
解决办法
246
查看次数

当只有一个元素变得复杂时,为什么Matlab会创建虚部?

K>> asdfasdf=[1 1 1]

asdfasdf =
 1     1     1

K>> asdfasdf(4)=-2.3604 + 0.1536i

asdfasdf =
1.0000 + 0.0000i   1.0000 + 0.0000i   1.0000 + 0.0000i  -2.3604 + 0.1536i
Run Code Online (Sandbox Code Playgroud)

为什么前3个元素突然变得复杂?我怎样才能防止Matlab这样做呢?真实是真的.这不应该只是因为另一个元素是想象的而改变为想象的.

matlab complex-numbers

2
推荐指数
1
解决办法
169
查看次数

在文件名中添加时间

考虑下面的代码片段:

local date: display %td_CCYY_NN_DD date(c(current_date), "DMY")
local date_string = subinstr(trim("`date'"), " " , "", .)
save "`date_string'_example", replace
mkdir "`date_string'_example"
Run Code Online (Sandbox Code Playgroud)

这将创建如下输出:

20170521_example.dta
Run Code Online (Sandbox Code Playgroud)

但是,我想创建一个文件名,它也要有时间,而不仅仅是日期。如果时间是下午4点25分01秒,那么我希望具备以下条件:

20170521_162601_example.dta
Run Code Online (Sandbox Code Playgroud)

如何添加此元素?

我尝试将函数放入c(current_time)其中,date()但这没有用。

此外,我试图分配本地宏savedir使用date_string。但是,似乎Stata在后面跟随时无法识别它\

local date: display %td_CCYY_NN_DD date(c(current_date), "DMY")
local date_string = subinstr(trim("`date'"), " " , "", .)
local savedir "C:\Users\`date_string'_output"
cd "`savedir'
Run Code Online (Sandbox Code Playgroud)

如何保存本地宏savedir

stata stata-macros

2
推荐指数
1
解决办法
193
查看次数

N 维 MatLab 网格

我知道我可以通过 3 维空间的网格来做到这一点。

如果我做

[X,Y] = meshgrid(1:3,10:14,4:8)
Run Code Online (Sandbox Code Playgroud)

http://www.mathworks.com/help/matlab/ref/meshgrid.html中所示,然后我将获得 3D 空间上的网格点。

但对于 n 维空间,meshgrid 无法做到这一点。

我应该如何在n维空间(例如n=64)上获得网格点(做类似的事情,如网格网格)?

grid matlab

1
推荐指数
1
解决办法
889
查看次数

ivregress 的第一阶段系数和 R2 的出版式输出

我在 Stata 中运行以下命令:

eststo: ivregress 2sls y (x=z)  control  [aw=weight], cluster(cluster) first 
esttab using file.tex, b(%9.3f) se(%9.3f) r2(%9.8f) replace
Run Code Online (Sandbox Code Playgroud)

这会生成第二阶段的发布式表格。但是,第一阶段我应该做什么呢?我需要系数和 R^2。

我可以使用任何命令进行发布式输出 - 它不需要是esttab.

我尝试过ivregress2,但没有成功:

 _iv_vce_wrk():  3001  expected 21 arguments but received 20
 <istmt>:     -  function returned error
Run Code Online (Sandbox Code Playgroud)

regression stata

1
推荐指数
1
解决办法
1952
查看次数

A(输入)在最常见的输入中做了什么?

我正在使用简单的矩阵并得到一些奇怪的东西.

A = 
2 3 
5 6 
8 9
Run Code Online (Sandbox Code Playgroud)

而我这样做了.

A([1 3],[1 2 2]) 

ans = 
2 3 3 
8 9 9
Run Code Online (Sandbox Code Playgroud)

而我这样做了.

A([1 3],[1 2]) 

ans = 
2 3 
8 9
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么MatLab有这个结果.

或者,更一般地说,A(输入)在最常见的输入中做了什么?

matlab

0
推荐指数
1
解决办法
29
查看次数

导入没有标题的txt

我做了以下

import delimited using "input.txt", delimiters("\t")
Run Code Online (Sandbox Code Playgroud)

但是input.txt没有标题.

我可以看到数据的第一行只是一个标题.

数字变为标题,如v1,v2 ..,字符变为标题,如a,y,..

如果数据看起来像

2014 11 A 03 
2014 11 B 06
Run Code Online (Sandbox Code Playgroud)

然后在Stata中加载的数据是

header:    v1  v2 a v4 
1st row:  2014 11 B 06
Run Code Online (Sandbox Code Playgroud)

如何在不省略input.txt第一行的情况下添加一个"v1,v2,v3 .."的任意标题,我该怎么办?

stata

0
推荐指数
1
解决办法
70
查看次数