当前位置: 首页 > news >正文

山东临沂市需要建设网站的公司百度热搜广告位多少钱

山东临沂市需要建设网站的公司,百度热搜广告位多少钱,网页设计与制作教程 pdf下载,网上做网站钱被骗了报案有用吗原文#xff1a;http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境#xff0c;以便你写代码的过程。这包括安装任何必要的工具#xff0c;配置它们#xff0c;以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程#xff0c;因为… 原文http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境以便你写代码的过程。这包括安装任何必要的工具配置它们以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程因为每个人都有一台不同的计算机不同的操作系统、不同操作系统版本 、不同的 Python 解释器版本。尽管如此本章描述了一些基本概念帮助您使用命令行、环境变量和文件系统管理自己的计算机。 学习这些概念和工具可能看起来很头疼。您希望编写代码而不是四处摸索配置设置或理解晦涩的控制台命令。但是从长远来看这些技巧会节省你的时间。忽略错误消息或随意更改配置设置让系统足能够工作但这也可能会隐藏问题但不会修复它们。现在花点时间了解这些问题可以防止它们再次发生。 文件系统 文件系统是你的操作系统组织数据存储和检索的方式。一个文件有两个关键属性一个是文件名通常写成一个单词、另一个是路径。路径是指文件在计算机上的位置。例如我的 Windows 10 笔记本电脑上的一个文件在路径C:\Users\Al\Documents中的文件名为project.docx。最后一个句号之后是文件的扩展名告诉你一个文件的类型。文件名project.docx为 Word 文档Users、Al、Documents均引用文件夹也称目录。文件夹可以包含文件和其他文件夹。比如project.docx在Documents文件夹中而Documents又在Al文件夹中Al又在Users文件夹中。图 2-1 显示了该文件夹的组织结构。 图 2-1文件夹层次结构中的一个文件 路径的C:是根文件夹包含所有其他文件夹。在 Windows 上根文件夹被命名为C:也称为C:驱动器。在 MacOS 和 Linux 上根文件夹是/。在本书中我将使用 Windows 风格的根文件夹C:\。如果您在 MacOS 或 Linux 上输入交互式 Shell 示例请改为输入/。 其他卷如 DVD 驱动器或 USB 闪存驱动器在不同的操作系统上会有不同的显示。在 Windows 上它们显示为新的带字母的根驱动器如D:\或E:\。在 MacOS 上它们作为新文件夹出现在/Volumes文件夹中。在 Linux 上它们作为新文件夹出现在/mnt“mount”文件夹中。请注意在 Windows 和 MacOS 上文件夹名称和文件名不区分大小写但在 Linux 上是区分大小写的。 Python 中的路径 在 Windows 上反斜杠\分隔文件夹和文件名但在 MacOS 和 Linux 上正斜杠/分隔它们。您可以使用pathlib模块和/操作符而不是用两种方式编写代码来使您的 Python 脚本跨平台兼容。 导入pathlib的典型方式是使用语句from pathlib import Path。因为Path类是pathlib中使用最频繁的类这可以让你输入Path而不是pathlib.Path。您可以将文件夹或文件名的字符串传递给Path()来创建该文件夹或文件名的Path对象。只要表达式中最左边的对象是一个Path对象就可以使用/操作符将Path对象或字符串连接在一起。在交互式 Shell 中输入以下内容 from pathlib import PathPath(spam) / bacon / eggs WindowsPath(spam/bacon/eggs)Path(spam) / Path(bacon/eggs) WindowsPath(spam/bacon/eggs)Path(spam) / Path(bacon, eggs) WindowsPath(spam/bacon/eggs)注意因为我在 Windows 机器上运行了这段代码Path()返回了WindowsPath对象。在 MacOS 和 Linux 上返回一个PosixPath对象。POSIX 是一组用于类 Unix 操作系统的标准超出了本书的范围。就我们的目的而言这两种类型没有区别。 您可以将一个Path对象传递给 Python 标准库中任何需要文件名的函数。例如函数调用open(Path(C:\\) / Users / Al / Desktop / spam.py)相当于open(rC:\Users\Al\Desktop\spam.py)。 主目录 所有用户在电脑上都有一个名为主文件夹或主目录的文件夹来存放他们自己的文件。您可以通过调用Path.home()来获得主文件夹的一个Path对象 Path.home() WindowsPath(C:/Users/Al)主目录位于一个固定的位置具体取决于您的操作系统 在 Windows 上主目录在C:\Users中。在 Mac 上主目录在/Users中。在 Linux 上主目录通常在/home中。 主目录中的文件您基本上肯定有读写权限因此这是存储和使用您的 Python 脚本的理想位置。 当前工作目录 你电脑上运行的每个程序都有一个当前工作目录cwd。任何不以根文件夹开头的文件名或路径都在 CWD 中。虽然“文件夹”是一个目录的更流行的名字但是注意 CWD或者仅仅是工作目录是标准术语而不是“当前工作文件夹” 您可以使用Path.cwd()函数将 CWD 作为一个Path对象并使用os.chdir()对其进行更改。在交互式 Shell 中输入以下内容 from pathlib import Pathimport osPath.cwd() # 1 WindowsPath(C:/Users/Al/AppData/Local/Programs/Python/Python38)os.chdir(C:\\Windows\\System32) # 2Path.cwd() WindowsPath(C:/Windows/System32)这里 CWD 设置为C:\ Users\Al\AppData\Local\Programs\Python\Python38 1所以文件名project.docx会引用C:\ Users\Al\AppData\Local\Programs\Python\Python38\project.docx。当我们将 CWD 改为C:\Windows\System32 2 时文件名project.docx将引用C:\Windows\System32\project.docx。 如果您尝试切换到不存在的目录Python 会显示错误 os.chdir(C:/ThisFolderDoesNotExist) Traceback (most recent call last):File stdin, line 1, in module FileNotFoundError: [WinError 2] The system cannot find the file specified: C:/ThisFolderDoesNotExistos模块中的os.getcwd()函数是以前获取字符串形式的 CWD 的方法。 绝对路径与相对路径 有两种方法可以指定文件路径 绝对路径总是从根文件夹开始相对路径相对于程序的 CWD 还有点.和点点..文件夹。这些不是真正的文件夹而是可以在路径中使用的特殊名称。单个句号.是“此目录”的简写两个句号..表示“父文件夹” 图 2-2 显示了一些文件夹和文件的例子。当 CWD 被设置为C:\bacon时其他文件夹和文件的相对路径被设置为如图所示。 .相对路径的开头是可选的。例如.\spam.txt和spam.txt引用同一个文件。 图 2-2工作目录下文件夹和文件的相对路径C:\bacon 程序和流程 一个程序是你可以运行的任何软件应用比如网络浏览器、电子表格应用或文字处理器。一个进程是一个程序的运行实例。例如图 2-3 显示了同一个计算器程序的五个进程示例。 图 2-3一个计算器程序作为多个独立的进程运行多次 即使运行同一个程序进程也保持相互独立。例如如果您同时运行一个 Python 程序的几个实例每个进程可能会有单独的变量值。每个进程甚至运行相同程序的进程都有自己的 CWD 和环境变量设置。一般来说一个命令行一次只能运行一个进程尽管您可以同时打开多个命令行。 每个操作系统都有查看正在运行的进程列表的方式。在 Windows 上你可以按Ctrl-Shift-Esc调出任务管理器应用。在 MacOS 上您可以运行应用实用工具活动监视器。在 Ubuntu Linux 上你可以按Ctrl-Alt-Del打开一个应用也叫任务管理器。如果进程没有响应这些任务管理器可以强制终止正在运行的进程。 命令行 命令行是一个基于文本的程序让你输入命令与操作系统交互并运行程序。你也可能听说过命令行界面CLI发音为“fly”、命令提示符、终端、Shell 或控制台。它为图形用户界面GUI发音为“gooey”提供了一种替代方式这种图形界面允许用户更加友好的方式与用户交互相对 CLI 来说。与命令行相比GUI 向用户提供可视信息引导他们更轻松地完成任务。大部分电脑用户都把命令行当做高级功能从来不碰。不愿意用的一部分原因是由于完全缺乏如何使用它的提示因为 GUI 可能会显示一个按钮告诉您点击哪里但是空白的终端窗口不会提醒您键入什么。 但是有很好的理由来熟练使用命令行。首先设置您的环境通常需要您使用命令行而不是图形窗口。另一方面输入命令比用鼠标点击图形窗口要快得多。基于文本的命令也比将一个图标拖到另一个图标上更明确。这有助于更好地实现自动化因为您可以将多个特定的命令组合成脚本来执行复杂的操作。 命令行程序存在于计算机的可执行文件中。在这种情况下我们通常称之为 shell 或 shell 脚本。运行 Shell 脚本会出现终端窗口提示符 在 Windows 上Shell 程序位于C:\Windows\System32\cmd.exe。在 MacOS 上Shell 程序在/bin/bash。在 Ubuntu Linux 上Shell 程序在/bin/bash。 多年来程序员为 Unix 操作系统创建了许多 Shell 程序例如 Bourne Shell在一个名为sh的可执行文件中以及后来的 Bourne-Again Shell在一个名为Bash的可执行文件中。Linux 默认使用 Bash而 MacOS 在 Catalina 和更高版本中使用类似的 Zsh 或 ZShell。由于不同的开发历史Windows 使用一个名为命令提示符的 shell。所有这些程序都做同样的事情它们提供一个带有基于文本的 CLI 的终端窗口用户可以在其中输入命令并运行程序。 在本节中您将学习一些命令行的基本概念和常用命令。你可以掌握大量的神秘命令来成为一名真正的魔术师但是你只需要知道十几个就可以解决大多数问题。在不同的操作系统上确切的命令名称可能略有不同但基本概念是相同的。 打开终端窗口 要打开终端窗口请执行以下操作 在 Windows 上点击开始按钮键入Command Prompt然后按回车。在 MacOS 上点击右上角的Spotlight图标输入Terminal然后按回车。在 Ubuntu Linux 上按 Win 键调出 Dash键入Terminal按回车。或者使用键盘快捷键CtrlAltT 与 Python 显示提示符的交互式 Shell 一样终端显示一个 Shell 提示符在这里您可以输入命令。在 Windows 上提示将是您所在的当前文件夹的完整路径 C:\Users\Alyour commands go here在 MacOS 上提示符显示您的电脑名称、冒号和 CWD您的个人文件夹用波浪号~表示。这是您的用户名后面是美元符号$: Als-MacBook-Pro:~ al$ your commands go here在 Ubuntu Linux 上提示符类似于 MacOS 提示符只是它以用户名和 AT符号开头 emailprotected:~$ your commands go here许多书籍和教程将命令行提示符表示为$来简化它们的例子。可以定制这些提示符但是这样做超出了本书的讨论范围。 从命令行运行程序 要运行程序或命令请在命令行中输入其名称。让我们运行操作系统自带的默认计算器程序。在命令行中输入以下内容 在 Windows 上输入calc.exe。在 MacOS 上输入open -a Calculator。从技术上讲这运行了open程序然后该程序运行计算器程序。在 Linux 上输入gnome-calculator。 程序名和命令在 Linux 上区分大小写但在 Windows 和 MacOS 上不区分大小写。这意味着你必须在 Linux 上输入gnome-calculator但你也可以在 Windows 上输入Calc.exe也在 MacOS 上输入OPEN –a Calculator。 在命令行中输入这些计算器程序名相当于从开始菜单、Finder 或 Dash 中运行计算器程序。这些计算器程序名作为命令工作因为calc.exe、open和gnome-calculator程序存在于包含在PATH环境变量中的文件夹中。第 35 页的“环境变量和路径”对此有进一步的解释。但是可以说当您在命令行上输入一个程序名时Shell 会检查在PATH中列出的某个文件夹中是否存在具有该名称的程序。在 Windows 上Shell 在检查PATH中的文件夹之前会在 CWD你可以在提示中看到中查找程序。要告诉 MacOS 和 Linux 上的命令行首先检查 CWD必须在文件名前输入./。 如果程序不在PATH中列出的文件夹中您有两种选择 使用cd命令将 CWD 更改为包含程序的文件夹然后输入程序名。例如您可以输入以下两个命令 cd C:\Windows\System32 calc.exe输入可执行程序文件的完整文件路径。例如您可以输入C:\Windows\System32\calc.exe而不是输入calc.exe。 在 Windows 上程序文件的扩展名以.exe或者.bat结尾扩展名是可选的输入calc与输入calc.exe的作用相同。MacOS 和 Linux 中的可执行程序通常没有将它们标记为可执行的文件扩展名相反他们拥有可执行权限集。第 39 页的“不使用命令行运行 Python 程序”有更多信息。 使用命令行参数 命令行参数是您在命令名后输入的文本。像传递给 Python 函数调用的参数一样它们为命令提供了特定的选项或附加的指示。例如当您运行命令cd C:\Users时C:\Users是cd命令的一个参数它告诉cd将 CWD 更改到哪个文件夹。或者当您使用python yourScript.py命令从终端窗口运行 Python 脚本时yourScript.py部分是一个参数它告诉python程序应该执行哪个脚本。 命令行选项也称为标志、开关或简单的选项是一个单字母或短单词的命令行参数。在 Windows 上命令行选项往往以正斜杠/开头在 MacOS 和 Linux 上它们以单破折号–或双破折号--开始。在运行 MacOS 命令open –a Calculator时您已经使用了–a选项。命令行选项在 MacOS 和 Linux 上通常区分大小写但在 Windows 上不区分大小写我们用空格分隔多个命令行选项。 文件夹和文件名是常见的命令行参数。如果文件夹或文件名的名称中包含空格请用双引号将名称括起来以避免混淆命令行。例如如果您想将目录更改为名为Vacation Photos的文件夹输入cd Vacation Photos会让命令行认为您在传递两个参数Vacation和Photos。因此您应该输入cd Vacation Photos C:\Users\Alcd Vacation PhotosC:\Users\Al\Vacation Photos许多命令的另一个常见参数是 MacOS 和 Linux 上的--help和 Windows 上的/?。这些将显示与命令相关的信息。例如如果您在 Windows 上运行cd /?Shell 会告诉您cd命令是做什么的并列出它的其他命令行参数 C:\Users\Alcd /? Displays the name of or changes the current directory.CHDIR [/D] [drive:][path] CHDIR [..] CD [/D] [drive:][path] CD [..].. Specifies that you want to change to the parent directory.Type CD drive: to display the current directory in the specified drive. Type CD without parameters to display the current drive and directory.Use the /D switch to change current drive in addition to changing current directory for a drive. --snip—该帮助信息告诉我们Windows cd命令也叫做chdir。简化的cd命令做同样的事情时大多数人不会键入chdir。方括号包含可选参数。例如CD [/D] [drive:][path]告诉你可以使用/D选项指定一个驱动器或路径。 不幸的是尽管命令的/?和--help信息为有经验的用户提供了提醒但解释通常是含糊的。对于初学者来说它们不是很好的资源。你最好使用书籍或网络教程如威廉·肖特的《Linux 命令行》第二版2019 年、OccupyTheWeb 的《Linux 黑客基础知识》2018 年或亚当·伯特伦的《系统管理员的 PowerShell》2020 年所有这些都来自 No Starch 出版社。 用-c从命令行运行 Python 代码 如果您需要运行少量一次性的 Python 代码运行一次后就丢弃那么在 Windows 上把–c开关传递给python.exe或者在 MacOS 和 Linux 上传递给python3。要运行的代码应该在–c开关之后用双引号括起来。例如在终端窗口中输入以下内容 C:\Users\Alpython -c print(Hello, world) Hello, world当您想要查看单个 Python 指令的结果并且不想浪费时间进入交互式 Shell 时–c开关非常方便。例如您可以快速显示help()函数的输出然后返回到命令行 C:\Users\Alpython -c help(len) Help on built-in function len in module builtins:len(obj, /)Return the number of items in a container.C:\Users\Al从命令行运行 Python 程序 Python 程序是带有.py文件扩展名。它们不是可执行文件相反Python 解释器读取这些文件并执行其中的 Python 指令。在 Windows 上解释器的可执行文件是python.exe。在 MacOS 和 Linux 上是python3 原始python文件包含 python2 版本解释器。运行命令python yourScript.py或python3 yourScript.py将运行保存在名为yourScript.py的文件中的 Python 指令。 运行py.exe程序 在 Windows 上Python 会在C:\Windows文件夹中安装一个py.exe程序。这个程序与python.exe相同但是接受一个额外的命令行参数让你运行你的计算机上安装的任何 Python 版本。您可以从任何文件夹运行py命令因为C:\Windows文件夹包含在PATH环境变量中。如果您安装了多个 Python 版本运行py会自动运行您计算机上安装的最新版本。您还可以传递一个-3或-2命令行参数来分别运行最新安装的 Python3 版本或 Python2 版本。或者您可以输入一个更具体的版本号比如-3.6或-2.7来运行那个特定的 Python 版本。在版本切换之后您可以将所有相同的命令行参数传递给py.exe就像您传递给python.exe一样。从 Windows 命令行运行以下命令 C:\Users\Alpy -3.6 -c import sys;print(sys.version) 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)]C:\Users\Alpy -2.7 Python2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32 Type help, copyright, credits or license for more information.当您在 Windows 机器上安装了多个 Python 版本并且需要运行一个特定的版本时py.exe程序非常有用。 从 Python 程序运行命令 Python 的subprocess.run()函数可以在subprocess模块中找到它可以在 Python 程序中运行 Shell 命令然后将命令输出显示为字符串。例如下面的代码运行ls –al命令 import subprocess, localeprocObj subprocess.run([ls, -al], stdoutsubprocess.PIPE) # 1outputStr procObj.stdout.decode(locale.getdefaultlocale()[1]) # 2print(outputStr) total 8 drwxr-xr-x 2 al al 4096 Aug 6 21:37 . drwxr-xr-x 17 al al 4096 Aug 6 21:37 .. -rw-r--r-- 1 al al 0 Aug 5 15:59 spam.py我们将[ls, -al]列表传递给subprocess.run() 1 。这个列表包含命令名ls后面是它的参数作为单独的字符串。注意通过[ls –al]是不行的。我们将命令的输出作为字符串存储在outputStr 2 中。subprocess.run()和locale.getdefaultlocale()的在线文档会让你更好地了解这些函数是如何工作的但是它们让代码可以在任何运行 Python 的操作系统上工作。 使用制表符补全最大限度地减少键入 因为高级用户一天要花几个小时向计算机输入命令所以现代命令行提供的功能可以最大限度地减少必要的打字量。 TAB 补全功能也称为命令行补全或自动补全允许用户键入文件夹或文件名的前几个字符然后按下Tab键让 Shell 填充名称的其余部分。 例如当您在 Windows 上键入cd c:\u并按下Tab 时当前命令会检查C:\中的哪些文件夹或文件以u开始Tab 会补全为c:\Users。它还将小写的u更正为U。在 MacOS 和 Linux 上制表符补全不会纠正大小写。如果在C:\文件夹中有多个文件夹或文件名以U开头您可以继续按Tab在它们之间循环。为了缩小备选数量你也可以输入cd c:\us过滤以us开头的文件夹和文件名。 多次按下键键在 MacOS 和 Linux 上同样有效。在下面的例子中用户输入了cd D然后输入了两次标签 emailprotected:~$ cd D Desktop/ Documents/ Downloads/ emailprotected:~$ cd D键入D后按两次键会导致外壳显示所有可能的匹配。到目前为止Shell 为您提供了一个新的命令提示符。此时您可以键入e然后按下Tab键让 Shell 完成cd Desktop/命令。 制表符补全是如此有用以至于许多 GUI IDEs 和文本编辑器也包括这个特性。与命令行不同这些 GUI 程序通常在您键入单词时在您的单词下显示一个下拉菜单让您选择一个来补全命令的完成其余部分。 查看命令历史记录 在命令历史中现代 shells 还会记住你输入的命令。在终端中按下向上箭头键用您输入的最后一个命令填充命令行。您可以继续按向上箭头键查找以前的命令或者按向下箭头键返回到最近的命令。如果想取消当前提示符下的命令从一个新的提示符开始按下CtrlC 在 Windows 上您可以通过运行doskey /history来查看命令历史。这个奇怪命名的doskey程序可以追溯到微软 Windows 操作系统之前的 MS-DOS。在 MacOS 和 Linux 上可以通过运行history命令来查看命令历史。 使用常用命令 本节包含您将在命令行中使用的常用命令的简短列表。这里列出的命令和参数要多得多但是您可以将它们视为导航命令行所需的最基本的东西。 本节中命令的命令行参数出现在方括号中。例如cd [destination folder]表示您应该输入cd后跟新文件夹的名称。 用通配符匹配文件夹和文件名 许多命令接受文件夹和文件名作为命令行参数。通常这些命令也接受带有通配符*和?的名称允许您指定多个匹配的文件。*字符匹配任意数量的字符而?字符匹配任意单个字符。我们将使用*和?通配符的表达式称为 Glob 模式“全局模式”的简称。 Glob 模式允许您指定文件名的模式。例如您可以运行dir或ls命令来显示 CWD 中的所有文件和文件夹。但是如果你只想查看 Python 文件dir *.py或ls *.py将只显示以.py结尾的文件 。Glob 模式*.py表示“任何一组字符后跟.py C:\Users\Aldir *.pyVolume in drive C is WindowsVolume Serial Number is DFF3-8658Directory of C:\Users\Al03/24/2019 10:45 PM 8,399 conwaygameoflife.py 03/24/2019 11:00 PM 7,896 test1.py 10/29/2019 08:18 PM 21,254 wizcoin.py3 File(s) 37,549 bytes0 Dir(s) 506,300,776,448 bytes freeGlob 模式下records201?.txt的意思是records201后面跟任意单个字符再后面跟.txt这将匹配年份为records2010.txt到records2019.txt的记录文件以及文件名如records201X.txt。Glob 模式records20??.txt将匹配任意两个字符例如records2021.txt或records20AB.txt。 用cd命令更改目录 运行cd [destination folder]将 Shell 的 CWD 更改到目标文件夹 C:\Users\Alcd DesktopC:\Users\Al\DesktopShell 将 CWD 显示为其提示的一部分命令中使用的任何文件夹或文件都将被解释为与该目录相关。 如果文件夹名称中有空格请用双引号将名称括起来。要将 CWD 更改为用户的主文件夹在 MacOS 和 Linux 上输入cd ~在 Windows 上输入cd %USERPROFILE%。 在 Windows 上如果您还想更改当前驱动器首先需要以单独命令的形式输入驱动器名 C:\Users\Ald:D:\cd BackupFilesD:\BackupFiles要切换到 CWD 的父目录请使用..文件夹名称 C:\Users\Alcd ..C:\Users用dir和ls列出文件夹内容 在 Windows 上dir命令显示 CWD 中的文件夹和文件。在 MacOS 和 Linux 上,ls命令做同样的事情。运行dir [another folder]或ls [another folder]可以显示另一个文件夹的内容。 -l和-a选项是ls命令的有用参数。默认情况下ls仅显示文件和文件夹的名称。要显示包含文件大小、权限、最后修改时间戳和其他信息的长列表格式请使用–l。按照惯例MacOS 和 Linux 操作系统将以句号开头的文件视为配置文件并在普通命令中隐藏它们。您可以使用-a让ls显示所有文件包括隐藏的文件。要显示长列表格式和所有文件将开关组合成ls -al。以下是 MacOS 或 Linux 终端窗口中的一个示例 emailprotected:~$ ls Desktop Downloads mu_code Pictures snap Videos Documents examples.desktop Music Public Templates emailprotected:~$ ls -al total 112 drwxr-xr-x 18 al al 4096 Aug 4 18:47 . drwxr-xr-x 3 root root 4096 Jun 17 18:11 .. -rw------- 1 al al 5157 Aug 2 20:43 .bash_history -rw-r--r-- 1 al al 220 Jun 17 18:11 .bash_logout -rw-r--r-- 1 al al 3771 Jun 17 18:11 .bashrc drwx------ 17 al al 4096 Jul 30 10:16 .cache drwx------ 14 al al 4096 Jun 19 15:04 .config drwxr-xr-x 2 al al 4096 Aug 4 17:33 Desktop --snip--与ls –al类似的窗口是dir命令。以下是 Windows 终端窗口中的一个示例 C:\Users\AldirVolume in drive C is WindowsVolume Serial Number is DFF3-8658Directory of C:\Users\Al06/12/2019 05:18 PM DIR . 06/12/2019 05:18 PM DIR .. 12/04/2018 07:16 PM DIR .android --snip-- 08/31/2018 12:47 AM 14,618 projectz.ipynb 10/29/2014 04:34 PM 121,474 foo.jpg用dir列出子文件夹内容并查找 在 Windows 上运行dir /s会显示 CWD 的文件夹及其子文件夹。例如以下命令显示C:\github\ezgmail文件夹及其所有子文件夹中的 py 文件 C:\github\ezgmaildir /s *.pyVolume in drive C is WindowsVolume Serial Number is DEE0-8982Directory of C:\github\ezgmail06/17/2019 06:58 AM 1,396 setup.py1 File(s) 1,396 bytesDirectory of C:\github\ezgmail\docs12/07/2018 09:43 PM 5,504 conf.py1 File(s) 5,504 bytesDirectory of C:\github\ezgmail\src\ezgmail06/23/2019 07:45 PM 23,565 __init__.py 12/07/2018 09:43 PM 56 __main__.py2 File(s) 23,621 bytesTotal Files Listed:4 File(s) 30,521 bytes0 Dir(s) 505,407,283,200 bytes free在 MacOS 和 Linux 上,find . –name命令做同样的事情 emailprotected:~/Desktop$ find . -name *.py ./someSubFolder/eggs.py ./someSubFolder/bacon.py ./spam.py.告诉find开始在 CWD 中搜索。–name选项告诉find按名称查找文件夹和文件名字。*.py告诉find显示名称与*.py模式匹配的文件夹和文件。注意find命令要求–name后面的参数用双引号括起来。 用copy和cp复制文件和文件夹 要在不同的目录中创建文件或文件夹的副本请运行copy [source file or folder] [destination folder]或者cp [source file or folder] [destination folder]。以下是 Linux 终端窗口中的一个示例 emailprotected:~/someFolder$ ls hello.py someSubFolder emailprotected:~/someFolder$ cp hello.py someSubFolder emailprotected:~/someFolder$ cd someSubFolder emailprotected:~/someFolder/someSubFolder$ ls hello.py简化命令名 当我开始学习 Linux 操作系统时我惊讶地发现我所熟知的 Windows copy命令在 Linux 上被命名为cp。copy这个名字比cp更易读一个简洁、隐晦的名字真的值得节省两个字符的输入吗 随着我在命令行方面的经验越来越丰富我意识到答案是肯定的。我们读源代码的次数比写源代码的次数多所以对变量和函数使用冗长的名字会有所帮助。但是我们在命令行中输入命令的次数比阅读命令的次数多所以在这种情况下情况正好相反简短的命令名称使命令行更容易使用并减少手腕的压力。 使用move和mv移动文件和文件夹 在 Windows 上您可以通过运行move [source file or folder] [destination folder]将源文件或文件夹移动到目标文件夹。在 MacOS 和 Linux 上mv [source file or folder] [destination folder]命令做同样的事情。 以下是 Linux 终端窗口中的一个示例 emailprotected:~/someFolder$ ls hello.py someSubFolder emailprotected:~/someFolder$ mv hello.py someSubFolder emailprotected:~/someFolder$ ls someSubFolder emailprotected:~/someFolder$ cd someSubFolder/ emailprotected:~/someFolder/someSubFolder$ ls hello.pyhello.py文件已经从~/someFolder移动到~/somefolder/somesubfolder中源目录中的这个文件已经被移走。 用ren和mv重命名文件和文件夹 运行ren [file or folder] [new name]在 Windows 上重命名文件或文件夹mv [file or folder] [new name]在 MacOS 和 Linux 上也这么做。请注意您可以在 MacOS 和 Linux 上使用mv命令来移动和重命名文件。如果您为第二个参数提供一个现有文件夹的名称mv命令会将文件或文件夹移动到那里。如果您提供的名称与现有文件或文件夹不匹配mv命令会重命名该文件或文件夹。以下是 Linux 终端窗口中的一个示例 emailprotected:~/someFolder$ ls hello.py someSubFolder emailprotected:~/someFolder$ mv hello.py goodbye.py emailprotected:~/someFolder$ ls goodbye.py someSubFolder这个hello.py文件现在的名字是goodbye.py。 用del和rm 删除文件和文件夹 要删除 Windows 上的文件或文件夹请运行del [file or folder]。要在 MacOS 和 Linux 上这样做运行rm [file]rm是“remove”的简称。 这两个删除命令略有不同。在 Windows 上对文件夹运行del会删除其所有文件但不会删除其子文件夹。del命令也不会删除源文件夹你必须使用rd或rmdir命令我将在第 34 页的“使用rd和rmdir删除文件夹”中解释。此外运行del不会删除源文件夹的子文件夹中的任何文件。运行del /s /q [folder]可以删除文件。/s在子文件夹上运行del命令/q本质上意味着“安静不要让我确认。”图 2-4 说明了这种差异。 图 2-4运行del delicious左或del /s /q delicious右时这些示例文件夹中的文件被删除。 在 MacOS 和 Linux 上不能使用rm命令删除文件夹。但是你可以运行rm –r [folder]来删除一个文件夹及其所有内容。在 Windows 上rd /s /q [folder]也会做同样的事情。图 2-5 说明了这项任务。 图 2-5当您运行rd /s /q delicious或rm –r delicious时这些示例文件夹中的文件被删除。 用md和mkdir新建文件夹 在 Windows 上运行md [new folder]会创建一个新的空文件夹在 MacOS 和 Linux 上运行mkdir [new folder]也会这样做。mkdir命令也适用于 Windows但是md更容易输入。 以下是 Linux 终端窗口中的一个示例 emailprotected:~/Desktop$ mkdir yourScripts emailprotected:~/Desktop$ cd yourScripts emailprotected:~/Desktop/yourScripts$ ls # 1 emailprotected:~/Desktop/yourScripts$注意新创建的yourScripts文件夹是空的当我们运行ls命令来列出文件夹的内容时什么也没有。 用rd和rmdir删除文件夹 运行rd [source folder]删除 Windows 上的源文件夹rmdir [source folder]删除 MacOS 和 Linux 上的源文件夹。像mkdir一样rmdir命令也适用于 Windows但是rd更容易输入。文件夹必须是空的才能删除它。 以下是 Linux 终端窗口中的一个示例 emailprotected:~/Desktop$ mkdir yourScripts emailprotected:~/Desktop$ ls yourScripts emailprotected:~/Desktop$ rmdir yourScripts emailprotected:~/Desktop$ ls emailprotected:~/Desktop$在本例中我们创建了一个名为yourScripts的空文件夹然后删除了它。 要删除非空文件夹以及其中包含的所有文件夹和文件请在 Windows 上运行rd /s/q [source folder]或者在 MacOS 和 Linux 上运行rm –rf [source folder]。 使用where和which查找程序 在 Windows 上运行where [program]或者在 MacOS 和 Linux 上运行which [program]会告诉你程序的确切位置。当你在命令行输入一个命令时你的计算机会在PATH环境变量中列出的文件夹中检查这个程序尽管 Windows 会先检查 cwd)。 这些命令可以告诉你在 Shell 中输入python时运行的是哪个可执行的 Python 程序。如果您安装了多个 Python 版本您的计算机可能会有多个同名的可执行程序。运行哪一个取决于您的PATH环境变量中文件夹的顺序并且where和which命令将输出它 C:\Users\Alwhere python C:\Users\Al\AppData\Local\Programs\Python\Python38\python.exe在本例中文件夹名称表明从 Shell 运行的 Python 版本位于C:\ Users\Al\AppData\Local\Programs\Python\Python38。 用cls和clear清除终端 在 Windows 上运行cls或在 MacOS 和 Linux 上运行clear将清除终端窗口中的所有文本。如果你只是想从一个新的终端窗口开始这是很有用的。 环境变量和路径 一个程序的所有正在运行的进程不管它是用什么语言编写的都有一组叫做环境变量的变量可以存储一个字符串。环境变量通常包含系统范围的设置每个程序都会发现这些设置很有用。例如TEMP环境变量保存任何程序可以存储临时文件的文件路径。当操作系统运行一个程序如命令行时新创建的进程接收它自己的操作系统环境变量和值的副本。您可以独立于操作系统的环境变量集来更改进程的环境变量。但是这些变化只适用于进程而不适用于操作系统或任何其他进程。 我在这一章中讨论环境变量是因为这样一个变量可以帮助你从命令行运行你的程序。 查看环境变量 您可以通过从命令行运行set在 Windows 上或env在 MacOS 和 Linux 上来查看终端窗口的环境变量列表 C:\Users\Alset ALLUSERSPROFILEC:\ProgramData APPDATAC:\Users\Al\AppData\Roaming CommonProgramFilesC:\Program Files\Common Files --snip-- USERPROFILEC:\Users\Al VBOX_MSI_INSTALL_PATHC:\Program Files\Oracle\VirtualBox\ windirC:\WINDOWS等号左边的文字是环境变量名右边的文字是字符串值。每个进程都有自己的一组环境变量因此不同的命令行可以有不同的环境变量值。 您也可以使用echo命令查看单个环境变量的值。在 Windows 上运行echo %HOMEPATH %在 MacOS 和 Linux 上运行echo $HOME分别查看HOMEPATH或HOME环境变量的值这些变量包含当前用户的主文件夹。在 Windows 上它看起来像这样 C:\Users\Alecho %HOMEPATH% \Users\Al在 MacOS 或 Linux 上它看起来像这样 emailprotected:~$ echo $HOME /home/al如果该进程创建了另一个进程例如当命令行运行 Python 解释器时则该子进程会收到其自己的父进程环境变量的副本。子进程可以更改其环境变量的值而不会影响父进程的环境变量反之亦然。 您可以将操作系统的环境变量集视为“主副本”,进程从该副本复制其环境变量。操作系统的环境变量的变化没有 Python 程序频繁。事实上大多数用户从不会直接接触他们的环境变量设置。 使用PATH环境变量 当你输入一个命令比如 Windows 上的python或者 MacOS 和 Linux 上的python3终端会在你当前所在的文件夹中查找一个具有该名称的程序。如果没有找到它将检查列在PATH环境变量中的文件夹。 比如在我的 Windows 电脑上python.exe程序文件位于C:\ Users\Al\AppData\Local\Programs\Python\Python38文件夹中。要运行它我必须输入C:\Users\Al\AppData\Local\Programs\Python\Python38\python.exe或者先切换到那个文件夹然后输入python.exe。 这个冗长的路径名需要大量的输入所以我将这个文件夹添加到环境变量PATH中。然后当我输入python.exe时命令行会在PATH中列出的文件夹中搜索具有该名称的程序使我不必键入完整的文件路径。 因为环境变量只能包含一个字符串值所以向PATH环境变量添加多个文件夹名需要使用特殊的格式。在 Windows 上分号分隔文件夹名称。您可以使用path命令查看当前的PATH值 C:\Users\Alpath C:\Path;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem; --snip-- C:\Users\Al\AppData\Local\Microsoft\WindowsApps在 MacOS 和 Linux 上冒号分隔文件夹名称 emailprotected:~$ echo $PATH /home/al/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin文件夹名称的顺序很重要。如果我在C:\WINDOWS\system32和C:\WINDOWS中有两个名为someProgram.exe的文件输入someProgram.exe将运行C:\WINDOWS\system32中的程序因为该文件夹首先出现在PATH环境变量中。 如果你输入的程序或命令不在 CWD 或PATH中列出的任何目录中命令行会给你一个错误比如command not found或not recognized as an internal or external command。如果你没有打错字检查哪个文件夹包含该程序看看它是否出现在PATH环境变量中。 更改命令行的PATH环境变量 您可以更改当前终端窗口的PATH环境变量以包含其他文件夹。向PATH添加文件夹的过程在 Windows 和 MacOS/Linux 之间略有不同。在 Windows 上你可以运行path命令来添加一个新的文件夹到当前的PATH值 C:\Users\Alpath C:\newFolder;%PATH% # 1C:\Users\Alpath # 2 C:\newFolder;C:\Path;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem; --snip-- C:\Users\Al\AppData\Local\Microsoft\WindowsApps%PATH%部分 1 扩展为PATH环境变量的当前值所以您要在现有的PATH值的开头添加新的文件夹和分号。您可以再次运行path命令来查看PATH 2 的新值。 在 MacOS 和 Linux 上您可以使用类似于 Python 中赋值语句的语法来设置PATH环境变量 emailprotected:~$ PATH/newFolder:$PATH # 1 emailprotected:~$ echo $PATH # 2 /newFolder:/home/al/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin$PATH部分 1 扩展为PATH环境变量的当前值因此您要向现有的PATH值添加新文件夹和冒号。您可以再次运行echo $PATH命令来查看PATH的新值 2 。 但是前两种添加文件夹到PATH的方法只适用于当前的终端窗口以及添加后从该窗口运行的任何程序。如果您打开一个新的终端窗口它不会有您的更改。永久添加文件夹需要更改操作系统的环境变量集合。 在 Windows 上将文件夹永久添加到PATH环境变量 Windows 有两组环境变量系统环境变量适用于所有用户和用户环境变量覆盖系统环境变量但仅适用于当前用户。要编辑它们点击开始菜单然后输入Edit environment variables for your account这将打开环境变量窗口如图 2-6 所示。 从用户变量列表不是系统变量列表中选择路径点击编辑在出现的文本字段中添加新文件夹名称不要忘记分号分隔符点击确定。 这个界面不是最容易使用的所以如果你经常在 Windows 上编辑环境变量我推荐你安装www.rapidee.com的免费快速环境编辑器软件。请注意安装后您必须以管理员身份运行该软件来编辑系统环境变量。点击开始菜单输入Rapid Environment Editor右击软件图标点击以管理员身份运行。 在命令提示符下您可以使用setx命令永久修改系统变量PATH C:\Users\Alsetx /M PATH C:\newFolder;%PATH%您需要以管理员身份运行命令提示符来运行setx命令。 图 2-6Windows 上的环境变量窗口 在 MacOS 和 Linux 上向PATH变量永久添加文件夹 要将文件夹添加到 MacOS 和 Linux 上所有终端窗口的PATH环境变量中您需要修改.bashrc文本文件并添加下面一行 export PATH/newFolder:$PATH这一行修改将会应用到所有未来终端窗口的PATH环境变量。在 MacOS Catalina 和更高版本上默认的 Shell 程序已经从 Bash 变成了 ZShell所以您需要修改.zshrc放在主文件夹里。 不使用命令行运行 Python 程序 您可能已经知道如何从操作系统提供的任何启动器运行程序。Windows 有开始菜单MacOS 有 Finder 和 DockUbuntu Linux 有 Dash。当你安装它们时程序会把它们自己添加到这些启动器中。您也可以在文件资源管理器应用如 Windows 上的文件资源管理器、MacOS 上的 Finder 和 Ubuntu Linux 上的文件中双击程序图标来运行它们。 但是这些方法并不适用于你的 Python 程序。经常双击一个.py 文件将在编辑器或 IDE 中打开 Python 程序而不是运行它。如果你尝试直接运行 Python你只需打开 Python 交互式 shell。运行 Python 程序最常见的方式是在 IDE 中打开它然后单击“运行”菜单选项或在命令行中执行它。如果您只是想启动一个 Python 程序这两种方法都很乏味。 相反您可以设置您的 Python 程序以便从操作系统的启动程序中轻松运行它们就像您安装的其他应用一样。以下部分详细介绍了如何针对您的特定操作系统执行此操作。 在 Windows 上运行 Python 程序 在 Windows 上您可以通过其他几种方式运行 Python 程序。不用打开终端窗口可以按winR打开运行对话框输入py C:\path\to\yourScript.py如图图 2-7 所示。py.exe程序安装在C:\Windows\py.exe它已经在PATH环境变量中并且.exe文件扩展名是可选的。 图 2-7Windows 上的运行对话框 不过这种方法要求您输入脚本的完整路径。此外当程序结束时显示程序输出的终端窗口将自动关闭您可能会错过一些输出。 您可以通过创建一个批处理脚本来解决这些问题它是一个带有.bat文件扩展名的小文本文件可以一次运行多个终端命令很像 MacOS 和 Linux 中的 Shell 脚本。您可以使用文本编辑器如记事本来创建这些文件。创建一个包含以下两行的新文本文件 py.exe C:\path\to\yourScript.py %* pause用程序的绝对路径替换这个路径用.bat文件扩展名保存这个文件例如yourScript.bat。每个命令开头的符号防止它显示在终端窗口中并且%*将在批处理文件名后输入的任何命令行参数转发给 Python 脚本。Python 脚本依次读取sys.argv列表中的命令行参数。这个批处理文件将使您不必在每次运行 Python 程序时都键入它的完整绝对路径。pause命令将Press any key to continue...添加到 Python 脚本的末尾以防止程序的窗口消失得太快。 我建议您放置您的所有批次和.py文件放在一个已经存在于PATH环境变量中的文件夹中比如您在C:\Users\USERNAME的主文件夹。设置好批处理文件后只需按下winR输入批处理文件的名称.bat文件扩展名可选按回车就可以运行 Python 脚本。 在 MacOS 上运行 Python 程序 在 MacOS 上您可以通过使用.command扩展名创建一个文本文件来创建一个 Shell 脚本来运行 Python 脚本。在文本编辑器如“文本编辑”中创建一个并添加以下内容 #!/usr/bin/env bash python3 /path/to/yourScript.py将此文件存储在您的个人文件夹中。在终端窗口中通过运行chmod ux yourScript.command使这个 Shell 脚本可执行。现在您应该能够点击 Spotlight 图标或按下CmdSpace并输入您的 Shell 脚本的名称来运行它。Shell 脚本将依次运行您的 Python 脚本。 在 Ubuntu Linux 上运行 Python 程序 在 Ubuntu Linux 上没有像在 Windows 和 MacOS 上那样快速运行 Python 脚本的方法尽管你可以缩短一些相关步骤。首先确定你的.py 文件位于您的个人文件夹中。其次把这一行添加为你的.py文件的第一行 #!/usr/bin/env python3这被称为一个 Shebang 行它告诉 Ubuntu 当你运行这个文件时你想使用python3来运行它。第三通过从终端运行chmod命令向该文件添加执行权限 emailprotected:~$ chmod ux yourScript.py现在无论何时你想快速运行你的 Python 脚本你都可以按下CtrlAltT来打开一个新的终端窗口。这个终端将被设置到主文件夹所以你可以简单地输入./yourScript.py来运行这个脚本。./是必需的因为它告诉 Ubuntu yourScript.py存在于 CWD本例中是主文件夹中。 总结 环境配置包括让您的计算机进入可以轻松运行程序的状态所需的所有步骤。它要求您了解一些关于您的计算机如何工作的底层概念例如文件系统、文件路径、进程、命令行和环境变量。 文件系统是您的计算机组织计算机上所有文件的方式。文件是完整的绝对文件路径或相对于 CWD 的文件路径。您将通过命令行导航文件系统。命令行还有其他几个名称如终端、Shell 和控制台但它们都指的是同一个东西允许您输入命令从而完成基于文本的程序。尽管 Windows 和 MacOS/Linux 的命令行和常用命令的名称略有不同但它们实际上他们大同小异。 当您输入命令或程序名时命令行会检查在PATH环境变量中列出的文件夹的名称。理解这一点对于找出您可能遇到的任何command not found错误非常重要。向PATH环境变量添加新文件夹的步骤在 Windows 和 MacOS/Linux 之间也略有不同。 熟悉命令行需要时间因为有太多的命令和命令行参数需要学习。如果你花了很多时间在网上搜索帮助不要气馁大家都是这样过来的。
http://www.dnsts.com.cn/news/84497.html

相关文章:

  • 零基础做网站教程wordpress 4.8.3 漏洞
  • 深圳建设培训中心网站vc 做网站源码
  • 网站经常被挂码o2o网站开发
  • 网站的代理页面怎么做的朋友圈广告推广
  • 长春建设厅网站首页搭建网站原理
  • 如何制作一个个人网页seo是做什么的
  • 北龙建设集团网站白酒网站建设
  • 学校网站建设考评办法特色专业建设展示网站
  • 全球优秀企业网站做营销看的网站有哪些内容
  • 网站网站建设教程网站开发项目需求
  • 检查网站打开速度wordpress 4.9.2
  • 网站信息发布系统网站产品内容在数据库
  • 图片展示 网站有货源怎么做电商
  • 免费注册的网站邢台建网站
  • 网站变慢的原因网站中如何做图片轮播
  • 手机网站如何排版wordpress是怎么添加登录的
  • 最专业的网站建设公司哪家好游戏外包公司是干嘛的
  • dede网站转移晋中seo排名
  • 铜川做网站的公司电话wordpress 全屏幻灯片
  • 怎么搭建自己公司网站成武城乡住房建设局网站
  • 手机网站仿站教程国外做名片的网站
  • 定制化网站建设中信建设有限责任公司招投标
  • 58同城推广能免费做网站吗多光营销软件网站
  • 网站是不是每年都要续费wordpress点击文章404
  • 免费的代码分享网站做商城网站要什么证件
  • 爬取漫画数据做网站深圳外贸网站推广公司
  • 邢台建设专业网站做装饰画的行业网站
  • 石家庄建立网站的公司软文营销常用的方式
  • 东莞龙岗网站建设品牌建设论文
  • 网站怎么做等级保护天津网站建设 企航互联