贴代码了,那里运用的是C#支配台出口文件名到记事本中,文件名使用逗号隔断:

  • windows下调用利用cmd命令搜索

    1. 文件超模糊相配
      //在目录E:/workspace中递归遍历查找已.c结尾的文件,并显示出来
      for /r E:/workspace %i in (*.c) do @echo %i

    2. 按文件名或文件内容搜索,常用的DOS命令来了。按部分内容字符串搜索文件
      //在E:/workspace目录下文件名以.c结尾的,并且这些文件中的内容里包含字符串main()的所有文件
      for /r E:/workspace %a in (*.c) do @findstr /im "main()" "%a"

DOSDisk Operation
System
,即磁盘操作系统,是人与电脑之间展开互动的一种艺术,有了DOS,人们就不用去深远了然机器的硬件结构,也不要去死记硬背那些枯燥的机器指令。只需经过1些类似于自然语言的DOS命令,就能够轻松地形成绝大部分的家常操作。

壹.模块简介

os模块首要蕴涵普遍的操作系统相关操作,若是开发者希望自身付出的Python应用能够与平台无关,特别必要关爱os这么些模块。

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        public static string FileName = "";

        public static void Main(string[] args)
        {
            bool isContinute = true;
            WriteMessage("结束程序请输入1");
            WriteMessage("请输入要获取文件名的路径:");
            string path = Console.ReadLine();
            do
            {
                if (string.IsNullOrEmpty(path))
                {
                    WriteMessage("路径不存在!请重新输入");
                }
                else
                {
                    DirectoryInfo dir = new DirectoryInfo(path);
                    if (dir.Exists == false)
                    {
                        WriteMessage("路径不存在!请重新输入");
                    }
                    else
                    {
                        FileName = "";
                        GetChildDicsName(dir);
                        WriteMessage(FileName);
                        Console.WriteLine("获取该路径下文件名成功!你可以继续输入新的路径");
                    }
                }
                path = Console.ReadLine();
                isContinute = path != "1";
            } while (isContinute);
        }

        public static DirectoryInfo[] GetChildDicsName(DirectoryInfo dir)
        {
            FileInfo[] fileArray = dir.GetFiles();
            DirectoryInfo[] childDirs = dir.GetDirectories();

            foreach (FileInfo file in fileArray)
            {
                FileName += file.Name + ",";
            }
            if (childDirs.Length > 0)
            {
                foreach (DirectoryInfo dirChild in childDirs)
                {
                    GetChildDicsName(dirChild);
                }
            }
            return childDirs;
        }

        public static void WriteMessage(string message)
        {
            Console.WriteLine(message);
            //File.Create(@"C:\Users\Public\Desktop\test.txt");
            FileStream fs = File.Open(@"C:\Users\Public\Desktop\test.txt", FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);
            sw.WriteLine(message);  //这里是写入的内容
            sw.Close();
            fs.Close();
        }
    }
}

DOS命令的交互情势须要二个操纵台窗口,打开控制台有以下二种方式:

二.模块使用

 

  • linux 下调用控制台命令搜索

    1. 文件超模糊相称
      //在目录/home/wxn/workspace中查找文件名以.c结尾的所有文件
      find /home/wxn/workspace -name '*.c'

    2. 依据文件内容搜素
      在目录/home/wxn/workspace中查找文件里还有字符main()的文件
      grep -r "main()" /home/wxn/workspace

    3. 综上所述查找
      //在目录/home/wxn/workspace中查找文件名以.c结尾的同时文件内容中蕴藏字符串main()的公文
      find /home/wxn/workspace -type f -name '*.c' | xargs grep "main()"

方式一:初阶(桌面左下角)–>全体程序(windows10在“全数应用”)–>附属类小部件–>命令提醒符(windows拾在“Windows
系统”)

2.1 os模块

1.
os.name
,输出字符串提醒正在利用的阳台,假若是Windows平台,输出’nt’,假使是Linux/Unix平台,输出’posix’。

import os

print os.name

操纵台出口,

posix#如果是Linux/Unix平台
nt   #如果是Windows平台

2. os.getcwd,获取当前的劳作目录,正是当前Python应用工作的目录。

import os

print os.getcwd()

支配台出口,

/home/zhb/workspace/PythonTest

3. os.listdir,重返钦赐目录下的具有文件和目录。

import os

print os.listdir(os.getcwd())

决定输出,

['test.py', '.pydevproject', 'PaperID_mapping_to_AffiliationsID.txt', '.settings', '.project', 'BrowseQueryResult.txt']

4. os.remove,删除三个文件。

import os

os.remove("temp.txt")

删除当前目录下的temp.txt文件。

5. os.system,执行shell命令。

import os

os.system("ls -al")

列出当前工作目录下的兼具文件与目录的音信,控制输出,

total 3297204
drwxrwxr-x 3 zhb zhb       4096 10月 13 19:52 .
drwxrwxr-x 4 zhb zhb       4096 10月 10 20:44 ..
-rwxr--r-- 1 zhb zhb     106063 10月 13 19:03 BrowseQueryResult.txt
-rwxr--r-- 1 zhb zhb 3376199667  3月  5  2016 PaperID_mapping_to_AffiliationsID.txt
-rw-rw-r-- 1 zhb zhb        364 10月 10 20:44 .project
-rw-rw-r-- 1 zhb zhb        423 10月 10 20:44 .pydevproject
drwxrwxr-x 2 zhb zhb       4096 10月 11 15:26 .settings
-rw-rw-r-- 1 zhb zhb        241 10月 13 19:53 test.py

6. os.sep,取代操作系统特定的门径分隔符。

import os

print os.sep

操纵台出口,

/#Linux/Unix操作系统输出
\#Windows操作系统输出

7. os.linesep,当前平台选用的行终止符。

>>> import os
>>> os.linesep

'\n'#Linux平台
'\r\n'#Windows平台

操纵台音信截图:

方式二:发轫–>在搜寻框内输入“cmd”命令,回车即可打开控制台窗口。如下图所示:

2.2 os.path模块

1.
os.path.split
,再次来到2个门路的目录名和文书名,并不检讨那几个路子是或不是实际存在。

import os

print os.path.split("/home/workspace/PythonTest/test.py")

print os.path.split("/home/zhb/workspace/PythonTest/test.py")

控制输出,

('/home/workspace/PythonTest', 'test.py')
('/home/zhb/workspace/PythonTest', 'test.py')

金沙注册送58,2.
os.path.isfile
,os.path.isdir分别用于判断钦点路线是否叁个文件和目录。

import os

print os.path.isfile("/home/zhb/workspace/PythonTest/temp.txt")

print os.path.isdir("/home/zhb/workspace/PythonTest")

print os.path.isfile("/home/zhb/workspace/PythonTest/temp.py")

print os.path.isdir("/home/workspace/PythonTest")

操纵台出口,

True
True
False
False

3. os.path.exists,用于检查钦点的路径是还是不是真正的存在。

import os

print os.path.exists("/home/workspace/PythonTest/test.py")

print os.path.exists("/home/zhb/workspace/PythonTest/test.py")

操纵台出口,

False
True

4. os.path.abspath,获得钦赐文件的相对路径。

import os

print os.path.abspath("test.py")

操纵台出口,

/home/zhb/workspace/PythonTest/test.py

5. os.path.normpath,规范钦命路线的字符串格局。

import os

print os.path.normpath("/home/zhb////////workspace/PythonTest/test.py")

支配台出口,

/home/zhb/workspace/PythonTest/test.py

6.
os.path.getsize
,获得文件大小,若是文件名字为目录,则赶回目录的大大小小。

import os

print os.path.getsize("test.py")

print os.path.getsize("temp")

决定台出口,

285
4096

7. os.path.splitext,分离文件名与扩充名。

import os

print os.path.splitext("test.py")

决定台出口,

('test', '.py')

8. os.path.join,连接目录与公事名只怕目录。

import os

print os.path.join("/home/zhb/workspace/PythonTest","test.py")
print os.path.join("/home/zhb","workspace/PythonTest")

决定台出口,

/home/zhb/workspace/PythonTest/test.py
/home/zhb/workspace/PythonTest

9. os.path.basename,重回文件名。

import os

print os.path.basename("test.py")
print os.path.basename("/home/zhb/workspace/PythonTest/test.py")

支配台出口,

test.py
test.py

10. os.path.dirname,返回文件路径。

import os

print os.path.dirname("test.py")
print os.path.dirname("/home/zhb/workspace/PythonTest/test.py")

操纵台出口,

/home/zhb/workspace/PythonTest

11. os.walk,遍历一级目录下的文书。

函数注解,os.walk(top, topdown=True, onerror=None, followlinks=False)

参数top,要求遍历的世界级目录的不2诀要,

参数topdown,暗许是”True”,便是率先重返顶尖目录下的公文,然后再遍历子目录中的文件。当topdown的值为”False”时,表示先遍历子目录中的文件,然后再回去拔尖目录中的文件。

参数onerror,暗中认可是值是None,表示忽略文件遍历时的错误,假使不为空,则提供三个自定义函数提醒错误音信后延续遍历只怕抛出10分终止遍历。

import os

top_dir = "/home/zhb/workspace/PythonTest"

for dir_path,subpath,files in os.walk(top_dir,True):
    for file in files:
        file_path = os.path.join(dir_path,file)
        print file_path

操纵台出口,

/home/zhb/workspace/PythonTest/test.py
/home/zhb/workspace/PythonTest/.pydevproject
/home/zhb/workspace/PythonTest/PaperID_mapping_to_AffiliationsID.txt
/home/zhb/workspace/PythonTest/.project
/home/zhb/workspace/PythonTest/temp.txt
/home/zhb/workspace/PythonTest/BrowseQueryResult.txt
/home/zhb/workspace/PythonTest/temp/hello.txt
/home/zhb/workspace/PythonTest/.settings/org.eclipse.core.resources.prefs

将参数topdown设置为False,

/home/zhb/workspace/PythonTest/temp/hello.txt
/home/zhb/workspace/PythonTest/.settings/org.eclipse.core.resources.prefs
/home/zhb/workspace/PythonTest/test.py
/home/zhb/workspace/PythonTest/.pydevproject
/home/zhb/workspace/PythonTest/PaperID_mapping_to_AffiliationsID.txt
/home/zhb/workspace/PythonTest/.project
/home/zhb/workspace/PythonTest/temp.txt
/home/zhb/workspace/PythonTest/BrowseQueryResult.txt

12.
os.path.walk
,遍历文件夹下全数文件,先遍历顶尖目录,再遍历子目录中的文件,可是只发生文书路径,是子目录和文件的搅和列表。

函数注解,os.path.walk(top, func, arg),

参数top,必要遍历的头号目录路径。

参数func,表示回调函数,即对遍历路径进行拍卖的函数。

参数arg,是传递给回调函数的元组,为回调函数提供处理参数,arg能够为空。

import os

top_dir = "/home/zhb/workspace/PythonTest"

def find_file(arg,dir_path,files):
    for file in files:
        file_path = os.path.join(dir_path,file)
        print file_path

os.path.walk(top_dir,find_file,())

控制输出,

/home/zhb/workspace/PythonTest/temp#子目录
/home/zhb/workspace/PythonTest/test.py
/home/zhb/workspace/PythonTest/.pydevproject
/home/zhb/workspace/PythonTest/PaperID_mapping_to_AffiliationsID.txt
/home/zhb/workspace/PythonTest/.settings#子目录
/home/zhb/workspace/PythonTest/.project
/home/zhb/workspace/PythonTest/temp.txt
/home/zhb/workspace/PythonTest/BrowseQueryResult.txt
/home/zhb/workspace/PythonTest/temp/hello.txt
/home/zhb/workspace/PythonTest/.settings/org.eclipse.core.resources.prefs

金沙注册送58 1

  • 系统文件重定向
    三种平台都帮助文件重定向命令
    富有的操纵台命令,都能够在命令前面追加 “>>
    filepath”来讲输入到控制台打字与印刷的消息重定向到内定的公文中,例如:
    find /home/wxn/workspace -type f -name '*.c' | xargs grep "main()" >> /home/wxn/find_result.txt

  • c语言中调用系统的支配台命令
    system("cmd")
    例如:
    system("grep -r \"main()\" /home/wxn/workspace")

金沙注册送58 2

3.Reference

Python
模块学习:os模块

Python之os.walk和os.path.walk

 

若是不希罕上面的风格,能够对控制台窗口的习性进行改动,如背景象、字体大小、颜色等。修改决定台属性的点子:
一、鼠标右击控制台窗口的顶部,现身如下界面:

金沙注册送58 3

二、点击属性,即可对控制台的不等属性进行改动,如下图所示:

金沙注册送58 4

常用的DOS命令如下表:

命令格式 功用描述
盘名: 跻身到钦命的盘的根目录
dir 列出脚下控制台所在的路子下的具有文件以及文件夹
cd 路径 跻身到钦命的门径下
cd / 回去当前路线的根目录
cd .. 重回上超级目录
md 文件夹的称谓 在近来所在目录下创办1个点名名称的文本夹
rd 文件夹的称呼 除去钦点的文本(不能够用于删除非空的文本夹)
echo 数据>文件名 创造三个文件同时写入数据
type 文件名 翻看钦定文件存款和储蓄的数额
del

文本名|删除钦点的公文(del命令就算后边跟的是二个文书夹的称呼,则删除内定文件夹的富有文件,注意里面包车型大巴文本夹是不能够去除的)|
|cls|清屏(清除在此之前实施过的一声令下)|
|*|通配符,能够包容任何的公文名|
|上下方向键|回到以前敲过的授命(键盘上操作)|
|set|查看全部的环境变量音信|
|set 环境变量名|查看钦点的条件变量|
|set 环境变量名=路径|修改内定的环境变量音讯|
|set 环境变量名= |清空内定的环境变量消息|
|set
环境变量名=新路径;%引用的环境变量名%|在原本的环境变量音信基础上添加新的不2秘籍消息|
|exit|关闭当前决定台|

注意:在实质上费用中大家兴许会选择分裂的jdk版本调节和测试程序,经常使用不是很频仍,大家只希望在需求使用的时候才使用,然后就不再利用了,那么此时大家就能够透过上边的set相关命令来布署权且环境变量音信。

记得在微型总计机上多演习三遍额!!!

<a
href=”;   <a
href=”;

相关文章

网站地图xml地图