python:maximum recursion depth深度递归

代码在未打包成可执行文件exe之前,一切运行都没问题
之后利用cxfreeze打包成可执行文件exe,就报了RuntimeError: maximum recursion depth exceeded while calling a Python object这个错误,不知道为什么,求帮忙指导下

1个回答

递归深度过大,将堆栈设置的大一些,或者用堆栈代替递归。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SICP练习1.6的问题
为什么使用new-if时会出现 maximum recursion depth exceeded 呢?
怎么解决jackson无穷递归问题?
public class User{ private List<Role> roles; } public class Role{ private User users; } 当我用@ResponseBody注解返回User的json对象时,会出现org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError)无穷递归错误,请问各位高手怎么解决,谢谢各位了!
scrapy-redis报错,这个真不知道什么原因,我之前写的另外一个爬虫是可以执行的
Traceback (most recent call last): File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy\utils\defer.py", line 102, in iter_errback yield next(it) GeneratorExit Exception ignored in: <generator object iter_errback at 0x0000029D30248CA8> RuntimeError: generator ignored GeneratorExit Unhandled error in Deferred: 2018-07-17 17:50:00 [twisted] CRITICAL: Unhandled error in Deferred: 2018-07-17 17:50:00 [twisted] CRITICAL: Traceback (most recent call last): File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\twisted\internet\task.py", line 517, in _oneWorkUnit result = next(self._iterator) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy\utils\defer.py", line 63, in <genexpr> work = (callable(elem, *args, **named) for elem in iterable) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy\core\scraper.py", line 183, in _process_spidermw_output self.crawler.engine.crawl(request=output, spider=spider) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy\core\engine.py", line 210, in crawl self.schedule(request, spider) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy\core\engine.py", line 216, in schedule if not self.slot.scheduler.enqueue_request(request): File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy_redis\scheduler.py", line 167, in enqueue_request self.queue.push(request) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy_redis\queue.py", line 99, in push data = self._encode_request(request) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy_redis\queue.py", line 43, in _encode_request return self.serializer.dumps(obj) File "C:\Users\xin\Desktop\spider_thief\venv\lib\site-packages\scrapy_redis\picklecompat.py", line 14, in dumps return pickle.dumps(obj, protocol=-1) RecursionError: maximum recursion depth exceeded while calling a Python object
The Sierpinski Fractal 三角形问题
Description Consider a regular triangular area, divide it into four equal triangles of half height and remove the one in the middle. Apply the same operation recursively to each of the three remaining triangles. If we repeated this procedure infinite times, we'd obtain something with an area of zero. The fractal that evolves this way is called the Sierpinski Triangle. Although its topological dimension is 2, its Hausdorff-Besicovitch dimension is log(3)/log(2)~1.58, a fractional value (that's why it is called a fractal). By the way, the Hausdorff-Besicovitch dimension of the Norwegian coast is approximately 1.52, its topological dimension being 1. For this problem, you are to outline the Sierpinski Triangle up to a certain recursion depth, using just ASCII characters. Since the drawing resolution is thus fixed, you'll need to grow the picture appropriately. Draw the smallest triangle (that is not divided any further) with two slashes, to backslashes and two underscores like this: /\ /__\ To see how to draw larger triangles, take a look at the sample output. Input The input contains several testcases. Each is specified by an integer n. Input is terminated by n=0. Otherwise 1<=n<=10 indicates the recursion depth. Output For each test case draw an outline of the Sierpinski Triangle with a side's total length of 2n characters. Align your output to the left, that is, print the bottom leftmost slash into the first column. The output must not contain any trailing blanks. Print an empty line after each test case. Sample Input 3 2 1 0 Sample Output /\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\ /\ /__\ /\ /\ /__\/__\ /\ /__\
Lazy Evaluation 怎么实现
Problem Description Most of the programming languages used in practice perform strictevaluation. When a function is called, the expressions passed in the function arguments (for instance a + b in f (a + b, 3)) are evaluated first,and the resulting values are passed to the function. However, this is not the only way how expressions can be evaluated, and in fact, even such a mainstream language as C++ is sometimes performing lazy evaluation: the operators && and jj evaluate only those arguments that are needed to determine the value of the expression. Pal Christian is now working on a comparative study of the performance of the lazy and strict evaluation. Pal wants to evaluate in both ways a set of expressions that follow this simplied syntax: --an expression is either a constant, a name, or a function call --a constant is a signed 32-bit integer; for example, 3, 0, -2, 123 are constants; --a name is a name of a built-in or user-dened function, for example, f , or add are names; names are words containing up to 32 lowercase letters from the English alphabet; --function call has the form: ( f unction arg1 . . . argN ), where f unction is an expression that evaluates to some function of N arguments, and arg1 . . . argN are expressions that evaluate to arguments passed to the function. For example, ( f 3 5 ) , or ( add 2 ( add 1 2 )) are valid function calls. Expressions are evaluated according to the following simple rules: --constants evaluate to themselves --names evaluate to the functions they denote --function calls: in lazy evaluation: the first expression is evaluated first to obtain a function, whose function body, with formal parameters substituted for the expressions provided as the arguments, is evaluated; however, whenever some argument gets evaluated while evaluating the function body, the resulting value will replace all occurences of the same parameter in that function body. In other words, the expression passed in the argument is never evaluated more than once. in strict evaluation: all expressions are evaluated first: the first expression should evaluate to a function, the remaining to values that are used as function arguments; the result is the result of evaluating the corresponding function body, where all occurences of formal parameters are replaced by the values obtained by evaluating the arguments. The following built-in functions are available: add x y - sum of the constants x and y, sub x y - returns the value x-y, mult x y - product of x and y, div x y - integer division, and rem x y - remainder (same semantics as '/' and '%' in C, C++ or Java), true x y - always returns x, f alse x y - always returns y , eq x y - returns true if x and y is the same constant, otherwise returns f alse, gt x y - returns true if x is greater than y, otherwise returns f alse. User-defined functions are defined using the following syntax: f unction name arg1 . . . argN = body, where arg1 . . . argN are distinct words (up to 32 English lowercase letters), denoting the formal parameters of the function, and the body is an expression. The formal parameters can occur in the body of the function in place of constants or names. The function name and the formal parameters are separated by a single space. There is one space on both sides of the "=". Functions with zero (no) rguments are legal. Note that the formal parameters can overshadow the function names (i.e. op in definition of not in sample input overshadows the function name op), but each function must have a unique name. Input The first part of the input contains (less than 1000) lines with one function denition each, followed by a single empty line. Forward references (that is, referring to functions dened later in the input) and recursion are legal. The second part of the input contains less than 1000 test expressions. Each test expression is an expresion occupying a single line. Function names and the arguments are always separated by a single space, but there are no extra spaces around parentheses (see sample input). There is an empty line after the last expression. Expressions are to be evaluated by both the lazy and the strict evaluation. You can assume that all function definitions and expressions are syntactically correct, and that the arithmetic built-in functions (add, sub, mult, div, rem, eq, gt) will always be called with integers only, and no division by 0 occurs. Overows outside the 32-bit integer range are legal and do not require any special treatment (just use the value produced by C, C++, or Java operators +, -, *, /, or %). In strict evaluation, built-in functions evaluate all their arguments too. In lazy evaluation, arithmetic built-in functions always evaluate all their arguments. All lines on the input contain no more than 255 characters including spaces. Output The program should produce a table in exactly the following format: operator lazy_evaluation strict_evaluation add addlazy addstrict sub sublazy substrict mult multlazy multstrict div divlazy divstrict rem remlazy remstrict where each is an integer - how many times op has been executed in lazy evaluation of all expressions, and is the number of evaluations of in strict evaluation. Spaces can occur arbitrarily. If the evaluation of a test expression does not terminate after a total of 2345 function evaluations , you can assume that it is in an innite loop, the program should skip that expression, and do not count it into the totals (omit counting operations both in lazy and strict evaluation of this expression). Sample Input if cond truepart elsepart = (cond truepart elsepart) fact x = (facta x 1) facta x a = (if (eq x 0) a (facta (sub x 1) (mult a x))) and x y = (x y false) ident x = x two = 2 op op x = ((if (eq op 1) add sub) op x) not op = (op false true) sum n = (suma n 0) suma n a = (((gt n 1) suma false) (sub n 1) (add a n)) (true (add 1 2) (mult 1 2)) 5 true (and (gt (op (sub 2 1) 1) 5) (eq (two) (op 1 1))) (false (sub 1 2) (sum 4)) ((eq (true 1 2) (false 2 1)) (add 1 2) (sub 1 2)) (fact 3) Sample Output operator lazy_evaluation strict_evaluation add 7 8 sub 4 7 mult 0 1 div 0 0 rem 0 0
Function Run Fun 不会解答
Problem Description We all love recursion! Don't we? Consider a three-parameter recursive function w(a, b, c): if a <= 0 or b <= 0 or c <= 0, then w(a, b, c) returns: 1 if a > 20 or b > 20 or c > 20, then w(a, b, c) returns: w(20, 20, 20) if a < b and b < c, then w(a, b, c) returns: w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c) otherwise it returns: w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) This is an easy function to implement. The problem is, if implemented directly, for moderate values of a, b and c (for example, a = 15, b = 15, c = 15), the program takes hours to run because of the massive recursion. Input The input for your program will be a series of integer triples, one per line, until the end-of-file flag of -1 -1 -1. Using the above technique, you are to calculate w(a, b, c) efficiently and print the result. Output Print the value for w(a,b,c) for each triple. Sample Input 1 1 1 2 2 2 10 4 6 50 50 50 -1 7 18 -1 -1 -1 Sample Output w(1, 1, 1) = 2 w(2, 2, 2) = 4 w(10, 4, 6) = 523 w(50, 50, 50) = 1048576 w(-1, 7, 18) = 1
对java中递归问题的输出不理解,求大神解答!谢谢
对于这一段代码我能够理解,压栈然后出栈就是6,5,4 ``` package recursion; public class testRecursion { public static void main(String[] args) { int num=3; recursion(num); } private static void recursion(int n){ n++; if(n<7){ recursion(n); System.out.println(n); } } } ``` 但是对这段代码的输出很不理解 ``` package recursion; public class testRecursion { public static void main(String[] args) { int num=3; recursion(num); } private static void recursion(int n){ n=n+1; if(n<7){ recursion(n); recursion(n); System.out.println(n); } } } ``` 输出是:6 6 5 6 6 5 4
easyui调用updaterow 出现 too much recursion
我在easyui中,调用datagrid的updateRow方法 出现too much recursion错误,求大神解决![图片说明](https://img-ask.csdn.net/upload/201602/26/1456458018_594606.png)
c语言编程问题
Input a number输入一个数字 Using the recursion使用递归 Print factorial value of the number打印值的数字 ![图片说明](https://img-ask.csdn.net/upload/201511/21/1448117980_752708.png)
简单的函数调用失败 ,我都不知道我可以这么蠢。。Help!!
Wrong: unsigned long long recursion_factorials(int num) { long long unsigned ret=1; if(num>1) ret =num*recursion_factorials(num--); return ret; } 我在main 函数里面调用这个递归函数,没有报错,用printf()也没有输出结果, 改了倒数第二行代码: 改成 ret=num*recursion_factorials(--num); 结果就出来了。。 那么问题来了,为什么会产生这样的差异?如果是循环递归,为什么没有内存溢出。。。
递归法将一个数字倒置(如:12345→54321)代码不知道哪里出错了
public class Recursion { public static int len(int n){ int j=0; while(n>0) { j++; n=n/10; } return j; } public static int f(int n,int k){ int i,t=n%10; if(n<10) { k=n; return k; } else{ for(i=0;i<len(n);i++){ k=k*10+t; n=n/10; t=n%10; } return k; } } public static void main(String[] args) { System.out.println(""+len(12345678)); System.out.println(""+f(12345678,0)); } } 运行出来结果是 8 8765 想知道为什么????
The Sierpinski Fractal
Description Consider a regular triangular area, divide it into four equal triangles of half height and remove the one in the middle. Apply the same operation recursively to each of the three remaining triangles. If we repeated this procedure infinite times, we'd obtain something with an area of zero. The fractal that evolves this way is called the Sierpinski Triangle. Although its topological dimension is 2, its Hausdorff-Besicovitch dimension is log(3)/log(2)~1.58, a fractional value (that's why it is called a fractal). By the way, the Hausdorff-Besicovitch dimension of the Norwegian coast is approximately 1.52, its topological dimension being 1. For this problem, you are to outline the Sierpinski Triangle up to a certain recursion depth, using just ASCII characters. Since the drawing resolution is thus fixed, you'll need to grow the picture appropriately. Draw the smallest triangle (that is not divided any further) with two slashes, to backslashes and two underscores like this: /\ /__\ To see how to draw larger triangles, take a look at the sample output. Input The input contains several testcases. Each is specified by an integer n. Input is terminated by n=0. Otherwise 1<=n<=10 indicates the recursion depth. Output For each test case draw an outline of the Sierpinski Triangle with a side's total length of 2n characters. Align your output to the left, that is, print the bottom leftmost slash into the first column. The output must not contain any trailing blanks. Print an empty line after each test case. Sample Input 3 2 1 0 Sample Output /\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\ /\ /__\ /\ /\ /__\/__\ /\ /__\
用bootstrap table做一个考勤表,使用hideColumn隐藏多余天报 too much recursion
根据hideColumn方法调用的时候会报错 too much recursion,是因为一个月的列太多了吗?求大神指点 ![表头](https://img-ask.csdn.net/upload/201607/30/1469848647_651891.png) ![html代码](https://img-ask.csdn.net/upload/201607/30/1469848676_825688.png) ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469848700_251132.png) ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469848714_448828.png)
初学者求助C#数据结构中用递归的方法求排列组合的问题,
public void Fun_Permute_Recursion(int n, int m, int k) { for (int i = 1; i <= n; i++) { bool tag = false; for (int j = 1; j <= k - 1; j++) { if (i == m_percom_temp[j]) { tag = true; break; } } if (tag == false) { m_percom_temp[k] = i; if (k < m) Fun_Permute_Recursion(n, m, k + 1); else m_strout += Getstr_percom_temp(m); } } } 老师上课给的一段代码,我看不懂,能不能告诉我一下这段代码的具体执行过程是怎样的吗
dns服务解析失败是什么原因
centos6.5dns解析出现got recursion not available from : : 1,strying next server
求求求求改进程序,C/C++蓝桥杯FJ字符串
问题描述   FJ在沙盘上写了这样一些字符串:   A1 = “A”   A2 = “ABA”   A3 = “ABACABA”   A4 = “ABACABADABACABA”   … …   你能找出其中的规律并写所有的数列AN吗? 输入格式   仅有一个数:N ≤ 26。 输出格式   请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 样例输入 3 样例输出 ABACABA #include"iostream" using namespace std; long N=1500000; long n; //字符串长度 int k,record; //k为题目第N行,rerocd记录 void recursion(char ch[],int i) //递归 { if(k==record) return; record++; long j,m=n; ch[n++]=65+i; //将下一个字母存进来 ch[n]='\n'; for(j=0;j<m;j++) //再将上一轮字符串存进来 ch[n++]=ch[j]; ch[n]='\n'; recursion(ch,i+1); } int main() { char ch[N]; long i=0; cin>>k; recursion(ch,0); while(ch[i]!='\n') cout<<ch[i++]; cout<<endl; cout<<n<<endl; return 0; } ``` ``` ![图片说明](https://img-ask.csdn.net/upload/201510/02/1443792519_531659.png) 这张图片是我输入k=20情况,这时候字符串长度n已经100万多长了。。然而我想增加宏定义N 长度 。。增加到200万的时候,程序就奔溃了。。但是题目要求k<=26. 请问有什么办法改进。
too much recursion 问题
我用 jquery-1.4.2.js 和json 做AJAX function showtips(){ xmlHttp = request(); if(xmlHttp==null){ return; } var url="json/loginAjax.do"; var params ={"username":document.getElementsByName("username").valueOf()}; [b]$.post(url,params,function getResult(json){[/b] },"json"); } 在FireFox下面 粗体位置报错。对象是 jquery-1.4.2.js too much recursion 然后post方法也没发送出去。 各位怎么解决?
Linux下配置DNS服务器,报错“has no address records (A or AAAA)”,怎么解决,求大师指导
我搞不懂这段报错,怎么解决,您会吗? May 16 04:47:57 localhost named: test.zone:8: NS record '192.168.9.159' appears to be an address May 16 04:47:57 localhost named: zone test.com/IN: NS '192.168.9.159.test.com' has no address records (A or AAAA) May 16 04:47:57 localhost named: zone test.com/IN: not loaded due to errors. May 16 04:47:57 localhost named: _default/test.com/IN: bad zone May 16 04:47:57 localhost named: zone 9.168.192.in-addr.arpa/IN: NS 'dns.test.com.9.168.192.in-addr.arpa' has no address records (A or AAAA) May 16 04:47:57 localhost named: zone 9.168.192.in-addr.arpa/IN: not loaded due to errors. May 16 04:47:57 localhost named: _default/9.168.192.in-addr.arpa/IN: bad zone May 16 04:47:57 localhost named: zone localhost.localdomain/IN: loaded serial 0 May 16 04:47:57 localhost named: zone localhost/IN: loaded serial 0 May 16 04:47:57 localhost named: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0 May 16 04:47:57 localhost named: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 May 16 04:47:57 localhost named: zone 0.in-addr.arpa/IN: loaded serial 0 --------- [quote]原帖由 Shell_2015 于 2015-5-16 22:38 发表 has no address records? 你的DNS相关配置文件可否贴上来呢? [/quote] ------ 嗯,好的,马上。 rpm -qa|grep bind ,可见安装了如下rpm包,而配置文件,依次罗列其下,谢谢您了,热心人。 ![rpm -qa|grep bind.png (104.70K)](https://mail.qq.com/cgi-bin/download?mailid=ZL2217-inSo398ndZbBaHovn9tLc55&filename=rpm+-qa_grep+bind.png&sid=IN6XxMQ_IMOUMSN2&path=rpm+-qa_grep+bind.png&type=json) ----- gedit /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { // listen-on port 53 {any;}; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "test.com" IN { type master; file "test.zone"; allow-update{none;}; }; //zone "test.com" IN { // type master; // file "test.com.zone"; //}; zone "9.168.192.in-addr.arpa" IN { type master; file "9.168.192.arpa"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; ------------------------------------------- gedit /var/named/test.com.zone $TTL 1D test.com. IN SOA dns.test.com. fed.test.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum test.com. IN NS dns.test.com. dns.test.com. IN A 192.168.9.159 www.test.com. IN A 192.168.9.156 bbs.test.com. IN A 192.168.9.156 ftp.test.com. IN A 192.168.9.157 test.com. IN MX 10 mail.test.com ---------------- gedit /var/named/9.168.192.arpa $TTL 1D @ IN SOA dns.test.com. admin.test.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns.test.com 159 IN PTR dns.test.com 156 IN PTR www.test.com 157 IN PTR ftp.test.com
Java中,为什么当File为目录时,file.isDirectory()会返回false
我建了一个删除文件的功能,以下是我写的代码;在路径指定的路径目录里面有文件还有目录,请问为什么输出的时候都是:“删除文件” ``` import java.io.File; public class Recursion2 { public File method(File f) { /* * 判断是否为文件目录 */ if (f.exists() == false) { System.out.println("路径文件不存在"); return null; } /* * 删除文件目录 */ if (delete(f) == true) { return null; } else { File[] files = f.listFiles(); for (File file : files) { method(file); } return method(f); } } private boolean delete(File file) { boolean jubge = file.delete(); if (jubge) { if (file.isDirectory()) { System.out.println("删除目录 " + file); } else { System.out.println("删除文件 " + file); } } return jubge; } public static void main(String[] args) { Recursion2 recursion = new Recursion2(); File f = new File("D:/Desktop/火狐"); recursion.method(f); System.exit(0); } } ``` 以下是文件路径: ![图片说明](https://img-ask.csdn.net/upload/201805/21/1526917769_323816.png) 以下是部分输出结果: 删除文件 D:\Desktop\火狐\Mozilla Firefox\omni.ja 删除文件 D:\Desktop\火狐\Mozilla Firefox\pingsender.exe 删除文件 D:\Desktop\火狐\Mozilla Firefox\platform.ini 删除文件 D:\Desktop\火狐\Mozilla Firefox\plugin-container.exe 删除文件 D:\Desktop\火狐\Mozilla Firefox\plugin-container.exe.sig 删除文件 D:\Desktop\火狐\Mozilla Firefox\plugin-hang-ui.exe 删除文件 D:\Desktop\火狐\Mozilla Firefox\precomplete 删除文件 D:\Desktop\火狐\Mozilla Firefox\qipcap64.dll 删除文件 D:\Desktop\火狐\Mozilla Firefox\removed-files 删除文件 D:\Desktop\火狐\Mozilla Firefox\softokn3.chk 删除文件 D:\Desktop\火狐\Mozilla Firefox\softokn3.dll 删除文件 D:\Desktop\火狐\Mozilla Firefox\ucrtbase.dll 删除文件 D:\Desktop\火狐\Mozilla Firefox\uninstall\helper.exe 删除文件 D:\Desktop\火狐\Mozilla Firefox\uninstall\shortcuts_log.ini 删除文件 D:\Desktop\火狐\Mozilla Firefox\uninstall\uninstall.log 删除文件 D:\Desktop\火狐\Mozilla Firefox\uninstall\uninstall.update 删除文件 D:\Desktop\火狐\Mozilla Firefox\uninstall 删除文件 D:\Desktop\火狐\Mozilla Firefox\update-settings.ini 删除文件 D:\Desktop\火狐\Mozilla Firefox\updater.exe 删除文件 D:\Desktop\火狐\Mozilla Firefox\updater.ini 删除文件 D:\Desktop\火狐\Mozilla Firefox\vcruntime140.dll 删除文件 D:\Desktop\火狐\Mozilla Firefox\xul.dll 删除文件 D:\Desktop\火狐\Mozilla Firefox\xul.dll.sig 删除文件 D:\Desktop\火狐\Mozilla Firefox 删除文件 D:\Desktop\火狐 依据@caozhy的回答我把method改写成以下,结果还是一样啊? ``` public void method(File f) { /* * 判断是否为文件目录 */ if (f.exists() == false) { System.out.println("路径文件不存在"); return; } /* * 删除文件目录 */ if (f.isFile() || f.list().length == 0) { delete(f); } else { File[] files = f.listFiles(); for (File file : files) { method(file); delete(file); } delete(f); } }
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
进程通信方式总结与盘点
​ 进程通信是指进程之间的信息交换。这里需要和进程同步做一下区分,进程同步控制多个进程按一定顺序执行,进程通信是一种手段,而进程同步是目标。从某方面来讲,进程通信可以解决进程同步问题。 ​ 首先回顾下我们前面博文中讲到的信号量机制,为了实现进程的互斥与同步,需要在进程间交换一定的信息,因此信号量机制也可以被归为进程通信的一种方式,但是也被称为低级进程通信,主要原因为: 效率低:一次只可操作少量的...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
听说了吗?阿里双11作战室竟1根网线都没有
双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此。 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“一地狼藉”;到如今媲美5G的wifi网速,到现场却看不到一根网线;从当年使用商用AP(无线路由器),让光明顶双11当天断网一分钟,到全部使用阿里自研AP……阿里巴巴企业智能事业部工程师们提供的基础保障...
在阿里,40岁的奋斗姿势
在阿里,40岁的奋斗姿势 在阿里,什么样的年纪可以称为老呢?35岁? 在云网络,有这样一群人,他们的平均年龄接近40,却刚刚开辟职业生涯的第二战场。 他们的奋斗姿势是什么样的呢? 洛神赋 “翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。远而望之,皎若太阳升朝霞;迫而察之,灼若芙蕖出渌波。” 爱洛神,爱阿里云 2018年,阿里云网络产品部门启动洛神2.0升...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
入职阿里5年,他如何破解“技术债”?
简介: 作者 | 都铎 作为一名技术人,你常常会听到这样的话: “先快速上线” “没时间改” “再缓一缓吧” “以后再解决” “先用临时方案处理” …… 当你埋下的坑越来越多,不知道哪天哪位同学就会踩上一颗雷。特别赞同“人最大的恐惧就是未知,当技术债可说不可见的时候,才是最让人不想解决的时候。” 作为一个程序员,我们反对复制粘贴,但是我们经常会见到相似的代码,相同的二方包,甚至整个代码...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
深度学习入门笔记(十八):卷积神经网络(一)
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
你也能看懂的:蒙特卡罗方法
蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法 蒙特卡罗方法可以粗略地分成两类:一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问