`
schi
  • 浏览: 205166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Open Project Folder (python in maya)

阅读更多
在realflow里有个Open Project Folder ...命令用来打开工程项目的目录窗口,我在使用maya的时候我也经常打开maya的工程项目,为什么不把这个简单的功能移植过来呢?
so let's do it.
我google了一下,发现在python中有几种方法来打开指定路径的文件夹
1.使用os.system方法
import os
os.system('explorer "c:\myMayaProject"')

这时会弹出一个cmd.exe窗口来执行我们的命令,然后我们的窗口在所有的窗口的最前面
2.使用os.startfile方法
import os
os.startfile('explorer "c:\myMayaProject"')

不会弹出一个cmd.exe窗口,然后我们的窗口在其它的窗口的后面
3.使用subprocess.Popen方法
import subprocess
subprocess.Popen('explorer "c:\myMayaProject"')

不会弹出一个cmd.exe窗口,然后我们的窗口在所有的窗口的最前面
要用哪个方法就看需要了,这里使用第三个
def openProjectFolder():
    import os, subprocess
    import sys
    
    # get project folder's path
    # 获取工程项目的路径
    sceneFile = mc.workspace( q=1, dir=1)
    if not os.path.exists(sceneFile):
        sys.stderr.write( "No path to open a folder.\n" )
        raise
        
    sceneFile = os.path.normcase(sceneFile)
    subprocess.Popen('explorer "%s"' % sceneFile)

我个人比较喜欢先开场景的目录窗口,所以我用的是
def openSceneFolder():
    import os, subprocess
    import sys
    
    # get Scene file folder's path
    # 获取当前场景的路径
    sceneFile = os.path.dirname(mc.file( q=1, sn=1 ))
    if not sceneFile:    # 如果不存在当前场景的路径
        # get project folder's path
        # 获取工程项目的路径
        sceneFile = mc.workspace( q=1, dir=1)
        if not os.path.exists(sceneFile):
            sys.stderr.write( "No path to open a folder.\n" )
            raise
        
    sceneFile = os.path.normcase(sceneFile)
    subprocess.Popen('explorer "%s"' % sceneFile)
0
0
分享到:
评论

相关推荐

    VC6插件(Open Containing Folder)

    相比VS2010及 VS2012, VC6编译器缺少一个“Open Containing Folder”的功能。该插件(MyOWF.dll)实现了该功能。 使用方法:1)将MyOWF.dll放到C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Add...

    Open local folder by explorer-crx插件

    "Open local folder by explorer-crx" 是一个针对Google Chrome浏览器的扩展程序,它允许用户直接通过浏览器的上下文菜单在Windows资源管理器中打开本地文件夹。这个插件特别适用于那些频繁需要在浏览器和文件系统...

    cuda版本open3d

    pip 不支持安装cuda版本的open3d,因此需要手动编译open3D源码 Windows 1. Setup Python binding environments Most steps are the steps for Ubuntu: 2. Setup Python environments. Instead of which, check the ...

    sublime-align-cursors:在一行上对齐多光标

    | Open project folder | f10 [cursor]| OpenPath: Open project folder | | Open file folder | ctrl+f10 [cursor]| OpenPath: Open file folder | # after | Open project folder | f10 [cursor]| OpenPath: Open ...

    OpenFolder 在资源管理器任一目录下打开命令行窗口

    这是我找到的一个killer级工具,安装后会在资源管理器右键菜单中添加Open Command Prompt Here... 对于经常需要在指定目录下打开命令行窗口的开发员来说,这个工具简直是必备品。 用过就知道有多好了。

    基于python 和open cv制作视频片头和特效

    使用时通过命令行运行,python main.py folder_path 后面路径中存放的是一些jpg图片和一个avi视频,会自动处理成一个新视频,并添加特效。

    Python-jenkins模块之folder相关操作介绍

    本篇将详细介绍Python-jenkins模块中关于folder的相关操作。 首先,要进行folder操作,你需要确保你的Jenkins服务器已经安装了`Folders Plugin`。这个插件使得我们能够创建和管理组织结构清晰的项目文件夹,以便更...

    Multiplayer XR

    Using Unity 2020 (XR plug-ins, URP) and Normcore (networking, voice chat) to build multiplayer ...Open the Unity Project folder inside this repository folder Open Build Settings, set to Android

    Atom-atom-project-folder,快速添加/删除项目文件夹。贡献T9MD/原子.zip

    这个压缩包"Atom-atom-project-folder.zip"包含了一个名为"atom-project-folder-master"的项目,它的主要功能是帮助用户在Atom中快速添加和删除项目文件夹,极大地提升了开发效率。 首先,让我们深入了解一下Atom的...

    delphi 解析XML

    files in the General directory to your project folder or some appropriate general folder you want. 2) Include the clause "uses NativeXml" in your unit. If you want to use NativeXml in all your ...

    python实现读取文件夹下所有excel文件内容上传MySQL数据库,并附带生成log文件,同时上传成功之后清空文件夹

    for filename in os.listdir(folder_path): if filename.endswith('.xlsx'): full_path = os.path.join(folder_path, filename) # 读取并上传文件,这里假设文件名和表名相同 df = pd.read_excel(full_path) ...

    RPA-Python(包含TagUi).rar

    标题中的“RPA-Python(包含TagUi).rar”提到了两个主要概念:RPA(Robotic Process Automation,机器人流程自动化)和Python,以及一个名为TagUi的工具。RPA是一种技术,允许通过模拟人类在应用软件上的交互来自动...

    Python库 | split_folder-0.1.0-py3-none-any.whl

    "split_folder-0.1.0-py3-none-any.whl" 是一个特定版本的Python库,名为"split_folder",用于处理文件夹操作,尤其是文件和子文件夹的拆分。这个压缩包文件是一个wheel格式的软件包,它是Python的一种二进制分发...

    Python笔记Python笔记Python笔记

    - **文件(File)**: 如`myfile = open('eggs', 'r')`。 - **其他数据类型**: - **集合(Sets)**: 无序且不重复元素的集合。 - **类型(types)**: Python的类型系统。 以上是对给定文件中涉及的基础知识点的详细...

    Python制作GUI图形界面源码

    for file in os.listdir(folder_path): if file.endswith('.xlsx') or file.endswith('.xls'): workbook = pd.read_excel(os.path.join(folder_path, file)) for sheet_name in workbook.sheet_names: sheet_df ...

    pythonPDF_pdf_python_

    在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和自动化任务方面表现突出。本话题聚焦于使用Python处理PDF文档,特别是如何将多页的PDF文档拆分成多个单页PDF文档。PDF(Portable Document Format)是...

    用python写代码删除文件 pyinstaller -F -w delete-folder11-all-files.py

    用python写代码删除文件, 记得输入pyinstaller -F -w delete_folder11_all_files.py 就可以生成exe执行文件了。 用python写代码删除文件, 记得输入pyinstaller -F -w delete_folder11_all_files.py 就可以生成exe...

    fail_to_use_service_name_to_access_share_folder_in_Win2008_cluster

    fail_to_use_service_name_to_access_share_folder_in_Win2008_cluster

    基于Python的提取照片中的EXFI信息,支持批量提取

    for filename in os.listdir(folder_path): if filename.endswith(('.jpg', '.jpeg')): filepath = os.path.join(folder_path, filename) img = Image.open(filepath) exif_data = img._getexif() if exif_...

    图片裁剪python代码

    for filename in os.listdir(image_folder): if filename.endswith('.jpg') or filename.endswith('.png'): img = Image.open(os.path.join(image_folder, filename)) cropped_img = img.crop(裁剪区域) cropped...

Global site tag (gtag.js) - Google Analytics