`

一个小脚本遇到的问题之 Windows 命令行下的脚本执行

阅读更多

     Windows 命令行下面执行python确实是个麻烦事,反正不方便。添加系统环境变量就不多说了。这里说一下python在命令行执行的时候的一些位置。
     我这里遇到的问题就是:在之前的程序中,配置文件的路径是相对路径,当然放在一个目录下面啦。直接F5没错,但是在cmd下面就错了.No such file or directory.我都吐血了。
     下面的内容参考了Stack Overflow上面的回答。具体地址为:http://stackoverflow.com/a/12201952
     然后查查呗,问问谷歌。原来是python找文件的时候不是从你的脚本所在的位置,而是从他自己的工作目录。可以用 os.getcwd() 查看现在的工作目录是哪里?所以最好的方法就是绝对路径,绝对无敌。不过如果你的文件又被你移来移去,那你就等死吧。
     当然你如果很任性,那就使用 os.chdir() 来切换到你的配置文件所在的位置,然后一切就顺理成章了。

    上面的没看懂?没关系,看看下面的你会发现我说得很明白了。
    更详细的python脚本地址的获取。http://www.elias.cn/Python/GetPythonPath?from=Develop.GetPythonPath 干货摘录如下:

总之,举例来讲,os.getcwd()、sys.path[0] (sys.argv[0])和__file__的区别是这样的:
假设目录结构是:
 C:\test
  |
  [dir] getpath
    |
    [file] path.py
    [dir] sub
      |
      [file] sub_path.py
然后我们在C:\test下面执行python getpath/path.py,这时sub_path.py里面与各种用法对应的值其实是:
os.getcwd() “C:\test”,取的是起始执行目录
sys.path[0]或sys.argv[0] “C:\test\getpath”,取的是被初始执行的脚本的所在目录
os.path.split(os.path.realpath(__file__))[0] “C:\test\getpath\sub”,取的是__file__所在文件sub_path.py的所在目录
分享到:
评论

相关推荐

    windows 开/关 Oracle 11g 服务小脚本

    批处理(.bat)文件是一种基于DOS命令行的简单脚本语言,它允许用户组合多个命令到一个单一的文件中,执行一系列操作。 在提供的压缩包中,有两个文件:“关闭oracle11g服务.bat”和“启动oracle11g服务.bat”。这...

    Windows键 模拟脚本

    Windows key的模拟小脚本,用于batch,schedule等

    1小时关机脚本

    这个脚本特别之处在于它允许用户在执行过程中随时停止关机操作,增加了使用的灵活性。 首先,我们要理解什么是脚本。脚本是一种非编译型的编程语言,它通过解释器逐行执行代码,常用于执行自动化任务。在Windows...

    java网页小脚本

    综上所述,这个"java网页小脚本"压缩包提供了一个学习和实践Web开发,尤其是JavaScript和Java交互的好机会。无论是初学者还是经验丰富的开发者,都可以从中找到有价值的素材。如果你对Web开发有兴趣,不妨深入探索这...

    windows PE环境下,通过bat脚本实现自动分区,自动安装系统。

    1.在Windows PE环境下,通过两个bat小脚本实现自动分区,自动安装系统并重启。 2. disk.bat 是自动将磁盘分2个分区,分区表类型:GUID (主要用于安装较新电脑安装win10系统) 3. install.bat 是进行自动安装系统,...

    百度搜图小脚本spider

    【标题】"百度搜图小脚本spider"是一个基于Python编写的简易搜索引擎,主要用于从百度图片搜索中抓取特定类型的图像。这个脚本通过模拟用户行为,对百度图片搜索接口进行请求,获取并下载所需的图片。在日常生活中,...

    windows定时关机脚本.py

    windows自动关机脚本代码,可直接打包成exe程序,界面可选设置和取消。默认每晚10点关机。小脚本而已,需要自取。

    如何编写,运行简单的脚本

    注意,你需要在脚本所在的目录下执行这个命令。 描述中提到的阿里抢月饼小脚本,可能是利用自动化技术,例如定时执行、网络请求和数据解析等功能,以尝试在特定时间自动参与抢购活动。这种脚本通常会包含如下组件:...

    jquery小脚本集合

    总的来说,“jquery小脚本集合”是一个宝贵的资源库,对于初学者来说,可以作为学习jQuery和JavaScript实战的教程;对于经验丰富的开发者来说,它可以作为代码片段库,随时查找和借鉴。通过深入理解并实践这些脚本,...

    一个测速小脚本

    一个测速小脚本,

    ip自动切换小脚本 windows bat

    通过批处理自动脚本,自动修改IP设置,方便带着笔记本电脑到处乱窜的同学们。 修改内容包括IP、网关、DNS等。

    一个备份的小脚本

    一个备份的小脚本,linux系统向windows系统备份数据

    小脚本4.0.rar

    《小脚本4.0——自动化脚本与可视化编程的利器》 小脚本4.0是一款专为页游和端游设计的自动化脚本编辑工具,它以其强大的功能和友好的用户界面,深受广大玩家和开发者喜爱。该工具不仅提供了丰富的内置脚本示例,还...

    电脑运维常用bat

    批处理脚本是基于DOS命令行环境的简单程序,可以自动化执行一系列命令,极大地提高了电脑运维的效率。本文将详细讲解如何利用“电脑运维常用bat”中的脚本来处理日常的网络、共享、打印和定时任务。 1. 网络管理:...

    BAT批处理脚本-系统设置查询修改硬件相关-修复系统关联.zip

    6. `call`: 调用另一个批处理脚本,这样可以将复杂任务分解为多个小脚本。 7. `pause`: 暂停脚本执行,等待用户输入,常用于调试。 使用批处理脚本的优点在于自动化和批量处理,能提高工作效率,尤其在需要反复执行...

    小脚本4.71免费版小脚本编程助手

    总的来说,小脚本4.71免费版作为一个编程助手,它的核心价值在于其丰富的功能集合,旨在简化脚本开发,提高代码质量,同时也为初学者提供了一个友好的学习环境。无论是自动完成、代码高亮,还是错误检查和版本控制,...

    小脚本集合

    标题“小脚本集合”揭示了这是一个包含多个小型脚本的资源包,这些脚本可能用于不同的IT任务。描述中的“博文链接”指向了一个特定的博客条目,但因为是空的,我们无法直接获取更多关于这些脚本的详细信息。不过,...

    linux-一个linux信息搜集小脚本主要用于应急响应

    总的来说,这个"Linux信息搜集小脚本"是应急响应工具箱中的一把利剑,能够帮助我们快速掌握Linux系统的现状,提高应对安全事件的效率。通过深入研究和使用这个脚本,可以提升我们的Linux安全运维能力。

    Scratch的一个小脚本

    Scratch 是一款面向儿童和初学者的图形化编程工具,它允许用户通过拖拽积木式的代码...以下是一个简单的 Scratch 脚本示例,用于控制舞台上的角色“小猫”在点击绿旗时开始移动,并在碰到边缘时反弹:// 当绿旗被点击时

    EDL.BAT高通平台进9008模式小脚本

    高通平台进9008模式小脚本,不需要强制上拉BOOT管脚,

Global site tag (gtag.js) - Google Analytics