• Python_Example_文件路径读取返回_文件目录选择文件_实现程序


    2018-09-14

    Author: 楚格

    IDE: Pycharm2018.02   Python 3.7   

    KeyWord : 文件路径 文件名称选择

    Explain:  Testing_Config_List

     思路:

    1. def Function_Select_File():  获取当前路径(调试中默认路径)

    2. 遍历 当前文件夹下的所有文件和文件夹 以供选择使用

    3. 拼接字符串 返回有用的路径

    4.着重处理了 文件选择部分  方法还可以继续优化

    5. code 一步步搭建,注释部分是初始调试部分,方便错误查找

    1------------------------------------------------------------------------------------------------------------------

    --

     1 __all__ = ['Function_Select_File']
     2 
     3 # coding=utf-8
     4 import os
     5 
     6 '''
     7 # ============================================================================
     8 # Function:  文件路径  函数
     9 # Explain :  输入参数   无
    10 #         :  输出参数  global_var_file_name_file
    11 # ============================================================================
    12 '''
    13 def Function_Select_File():
    14     # print('Function_Select_File:')
    15     #------------------------------------------------------------------------
    16     global  global_var_file_name_file
    17 
    18     # 获取当前文件路径 调试使用
    19     # local_var_cwd = os.getcwd()
    20     # print('当前文件夹的路径  :
    ->>>  < %s >' % local_var_cwd )
    21     # [dir_name, file_name] = os.path.split(local_var_cwd)
    22     # print('分离files & path:< %s >     < %s >'%(dir_name,file_name))
    23 
    24     # 固定文件夹目录
    25     local_var_cwd = 'D:Auto_Testing_PycharmProtocol_ConfigsConfigs'
    26     local_var_list_name = os.listdir(local_var_cwd)  # # print('当前文件夹下的所有文件和文件夹:')
    27 
    28     #初始化列表 存放文件
    29     local_var_num = []
    30     local_var_file_name = []
    31     local_var_storage = {}
    32 
    33         # 遍历文件夹 编号 +  文件名
    34     for temp_var_num in range(len(local_var_list_name)):
    35         # print('num:%s   name:< %s >'% (temp_var_num,local_var_list_name[temp_var_num]))    # display All
    36         [new_file_name, file_name_end] = os.path.splitext(local_var_list_name[temp_var_num])  # file name handle
    37         # print('分离文件名与后缀:< %s >   < %s > '%(new_file_name,file_name_end))              # display result
    38 
    39             # 过滤其他文件 保留Excel文件 以供选择
    40         if file_name_end == '.xlsx':
    41             local_var_num.append(temp_var_num)                                      # 存储文件编号
    42             local_var_file_name.append(local_var_list_name[temp_var_num])           # 存储文件名称
    43             # print('Display select files : ', local_var_num, local_var_file_name)  # 显示二个列表
    44         #------------------------------------------------------------------------------------------
    45 
    46 
    47         # 显示留存的文件  二个列表映射成字典 保留列表方便调试使用  技巧 ***
    48     local_var_storage = dict(zip(local_var_num, local_var_file_name))
    49 
    50         #  提示 遍历字典元素 显示内容 local_var_storage.items() 无序
    51         #  可以这个替换 : print('Your selecr pprotocol : < %s > '% local_var_storage.keys())
    52     print('Protocols that can be executed :  ')
    53     for temp_var_num in local_var_storage :
    54         print("",temp_var_num,local_var_storage[temp_var_num])
    55     #-----------------------------------------------------------------------------
    56 
    57 
    58     print('List number :',local_var_num)    # 显示可行选择的文件编号
    59     # 后期拓展 使用此做做默认处理
    60     print('Please your select file number : 
     ->>> ')
    61     # local_var_select_number = input('please your select file number : 
     ->>> ')
    62     local_var_select_number = "0"
    63     protocol_num = True
    64     
    65     while protocol_num:
    66 
    67         if  local_var_select_number  == "0" :
    68             print('Your select protocol : < %s > '% local_var_file_name[int(local_var_select_number)])
    69                 # 拼接路径
    70             temp_var_path_string = local_var_cwd +'\'+ local_var_file_name[int(local_var_select_number)]
    71             print('temp_var_path_string:  %s '% temp_var_path_string)
    72             protocol_num = False
    73             global_var_file_name_file = temp_var_path_string
    74 
    75         elif local_var_select_number == "1":
    76             print('Your select protocol : < %s > ' % local_var_file_name[int(local_var_select_number)])
    77             temp_var_path_string = local_var_cwd + '\' + local_var_file_name[int(local_var_select_number)]
    78             print('temp_var_path_string:  %s ' % temp_var_path_string)
    79             protocol_num = False
    80             global_var_file_name_file = temp_var_path_string
    81 
    82         else:
    83             print('请选择可以执行的协议!')
    84             protocol_num = True
    85 
    86     return global_var_file_name_file  # 出口
    87     # -----------------------------------------------------------------------------
    88 
    89 # ============================================================================
    90 
    91 '''
    92 # ============================================================================
    93 #   测试专用
    94 # ============================================================================
    95 '''
    96 if __name__ == "__main__":
    97     print('测试开始')
    98     Function_Select_File()
    99     print('测试完成')

    --

    run result

    --

     1 测试开始
     2 Protocols that can be executed :  
     3  0 attribute_protocol.xlsx
     4  1 read_test - 副本.xlsx
     5  2 read_test.xlsx
     6  3 SG80KTL.xlsx
     7  5 z.xlsx
     8 List number : [0, 1, 2, 3, 5]
     9 Please your select file number : 
    10  ->>> 
    11 Your select protocol : < attribute_protocol.xlsx > 
    12 temp_var_path_string:  D:Auto_Testing_PycharmProtocol_ConfigsConfigsattribute_protocol.xlsx 
    13 测试完成
  • 相关阅读:
    滚动数组
    leetcode动态规划
    初中数学学习
    LCS最长公共子序列
    Help Jimmy
    IntelliJ IDEA 设置和查看内存使用
    无法嵌入互操作类型“ApplicationClass”。请改用适用的接口
    代码重构与单元测试——重构6:使用“多态”取代条件表达式(九)
    一个屌丝程序猿的人生(一百二十六)
    一个屌丝程序猿的人生(一百二十五)
  • 原文地址:https://www.cnblogs.com/caochucheng/p/9646393.html
Copyright © 2020-2023  润新知