Home  >  Article  >  Backend Development  >  用Python编写一个每天都在系统下新建一个文件夹的脚本

用Python编写一个每天都在系统下新建一个文件夹的脚本

WBOY
WBOYOriginal
2016-06-10 15:13:251505browse

这个程序的功能非常的简单,就是每天在系统中新建一个文件夹。文件夹即当前的时间。此代码是在同事那边看到的,为了锻炼下自己薄弱的Python能力,所以花时间重新写了一个。具体代码如下:

import time,os
 basePath = 'F:\\work\\'
 thisYear = str(time.localtime()[0])
 thisMonth = str(time.localtime()[1])
 thisDay = time.strftime("%Y-%m-%d", time.localtime())
 yearPath = basePath + thisYear
 monthPath = basePath + thisYear + '\\' +thisMonth
 dayPath = basePath + thisYear + '\\' +thisMonth + '\\' + thisDay
 if not os.path.exists(yearPath):
   os.mkdir(yearPath)
 if not os.path.exists(monthPath):
   os.mkdir(monthPath)
 if not os.path.exists(dayPath):
   os.mkdir(dayPath)
 os.popen("explorer.exe" + " " + dayPath)
 os.popen("exit")

刚开始写的时候我使用的os.system()来调用windows程序,但发现每次执行是都会弹出一个python窗口,很是麻烦。问了下高人,说解决方案是把.py文件后缀改为.pyw后缀即可。但是试了下还是不行。在高人的指导下,才得知原来值需要将os.system()修改为os.popen()即可。

.py和.pyw有什么不同?

严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行档案。视窗用python.exe 运行.py ,用pythonw.exe 运行.pyw 。这纯粹是因为安装视窗版Python 时,扩展名.py 自动被登记为用python.exe 运行的文件,而.pyw 则被登记为用pythonw.exe 运行。.py 和.pyw 之间的“其它差别”全都是python.exe 和pythonw.exe 之间的差别。

跟 python.exe 比较起来,pythonw.exe 有以下的不同:

  •     执行时不会弹出控制台窗口(也叫 DOS 窗口)
  •     所有向原有的 stdout 和 stderr 的输出都无效
  •     所有从原有的 stdin 的读取都只会得到 EOF

.pyw 格式是被设计来运行开发完成的纯图形界面程序的。纯图形界面程序的用户不需要看到控制台窗口。开发纯图形界面程序的时候,你可以暂时把.pyw 改成 .py ,以便运行时能调出控制台窗口,看到所有错误信息。

os.system()和os.popen()有什么不同?

  •     os.system(command)  在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。
  •     os.popen(command,mode)  打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r')。如果mode为'r',可以使用此函数的返回值调用read()来获取command命令的执行结果。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn