小编use*_*592的帖子

从不同文件夹导入模块

我有以下文件安排:

    python
     |--main.py
     |files
        |-----folder1
                |-----a.py,a1.py.....
        |-----folder2
                |-----b.py,b1.py....
Run Code Online (Sandbox Code Playgroud)

我想将模块a和b.py导入main.py. 为此,我在main.py中使用了以下命令:

    a = 'C:/python/files/folder1'
    sys.path.insert(0, a)
    from files.folder1 import *
Run Code Online (Sandbox Code Playgroud)

但是,我无法从folder1导入模块(类似于folder2).我收到一个错误:

    No module named files.folder1
Run Code Online (Sandbox Code Playgroud)

我不能使用import命令,因为folder1,folder2中有很多python文件......等等.

我在这里错过了什么吗?

python

14
推荐指数
2
解决办法
5万
查看次数

使用python删除某些文件

我有一个py脚本来处理扩展名为'.hgx'的文件.示例:test.hgx(有很多这样的文件扩展名为hgx)

该脚本处理test.hgx并创建一个新的test_bac.hgx,并在重新运行时创建test_bac_bac.hgx.因此,每次运行脚本都会创建一个带有'_bac'的文件.

是否有一些解决方案可以在我的脚本中使用,可以在开始实际代码之前删除所有现有的'_bac'和'_bac_bac ...'文件.

我已经在使用glob.glob函数了

for hgx in glob.glob("*.hgx"):  
Run Code Online (Sandbox Code Playgroud)

我可以使用此功能删除这些文件'X_bac.hgx'和其他_bac_bac..hgx文件吗?

任何帮助/想法将不胜感激.

谢谢

python

11
推荐指数
2
解决办法
1万
查看次数

交换列表中实体的位置

我有以下示例列表

   x= [['True_304', 'false_2'], ['True_702', 'false_2_1'], ['True_204', 'false_222_2']]
Run Code Online (Sandbox Code Playgroud)

我想交换实体的位置,以便第二个实体是第一个,第一个实体是第二个实体.基本上,像:

   x= [['false_2', 'True_304'], ['false_2_1', 'True_702'], ['false_222_2', 'True_204']]
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来做到这一点?任何想法都会有所帮助.谢谢.

python

3
推荐指数
1
解决办法
192
查看次数

使用python创建新文件夹

我正在尝试使用以下代码创建文件夹。某些东西不正确,并导致错误:

“ TypeError:'str'对象不可调用”

import os, sys

a= [4,3,2,1]
print len(a)
for idx in range (len(a)):

    newpath = r'E:\test\tool\folder_%s'(idx) 
    if not os.path.exists(newpath): os.makedirs(newpath)
Run Code Online (Sandbox Code Playgroud)

使用os.makedirs可以创建文件夹。但是,我无法在循环中为这些文件夹添加后缀。任何想法都会有所帮助。谢谢。

python

3
推荐指数
1
解决办法
1万
查看次数

如果元素存在,则在python中比较两个列表

我有两个列表,我想检查b中的元素是否存在

a=[1,2,3,4]
b=[4,5,6,7,8,1]
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的(尽管不起作用!)

a=[1,2,3,4]
b=[4,5,6,7,3,1]

def detect(list_a, list_b):
    for item in list_a:
        if item in list_b:
            return True
    return False  # not found

detect(a,b)
Run Code Online (Sandbox Code Playgroud)

我想检查b中是否存在元素,并应相应地设置一个标志.有什么想法吗?

python

3
推荐指数
1
解决办法
798
查看次数

python:提取字符串的某些部分

我有一个字符串,我想从中提取某些部分.字符串看起来像:

 E:/test/my_code/content/dir/disp_temp_2.hgx
Run Code Online (Sandbox Code Playgroud)

这是计算机上用于扩展名为hgx的特定文件的路径

我想要捕获"disp_temp_2".问题是我使用了条带功能,因为有很多'/'而对我不起作用.另一个问题是,上述位置将始终在计算机上改变.

有没有任何方法可以捕获最后一个'/'和'.'之间的确切字符串.

我的代码看起来像:

path = path.split('.')
Run Code Online (Sandbox Code Playgroud)

..现在我无法根据最后的'/'拆分.

任何想法如何做到这一点?

谢谢

python

2
推荐指数
1
解决办法
850
查看次数

搜索操作有问题

我有两个清单:

a= [['A', 'B', 'C', 3], ['P', 'Q', 'R', 4]]

b=[['K',1,1,1,1,1], ['L',1,1,1,1,1], ['M', 1,1,0,1,1], ['J', 0,0,0,0,0], ['A', 0,0,0,1,1], ['P',0,1,0,1,1 ]]
Run Code Online (Sandbox Code Playgroud)

我希望输出像:

Output=[['A', 0,0,0,1,1], ['P',0,1,0,1,1 ]]
Run Code Online (Sandbox Code Playgroud)

我试图使用a [idx] [0]搜索b中的a.然后我想收集这些项目,并希望像上面的输出.

我的代码看起来像:

Output=[]
for idx in range(len(Test)):
    a_idx = [y[0] for y in b].index(a[idx][0])
    a_in_b = b[a_idx]
    Output.append(a_in_b[:])

print Output 
Run Code Online (Sandbox Code Playgroud)

这不会给我想要的输出.有人可以帮忙吗?

python

1
推荐指数
1
解决办法
68
查看次数

使用PYC文件而不是PY

这里有一个菜鸟问题:

我有一个PY代码并编译它来创建一个.pyc.我想使用这个pyc文件而不是PY.

我正在使用外部程序运行PY文件.当PY存在于文件夹中时,一切都很完美.但是,当我删除PY文件并只使用pyc我得到错误:

IOError: [Errno 2] No such file or directory: 'E:/data/test/tech.py'
Run Code Online (Sandbox Code Playgroud)

虽然我有一个tech.py​​c躺在同一个文件夹中.任何想法可能是什么问题在这里?

python

1
推荐指数
1
解决办法
1213
查看次数

python - 更改相同扩展名的多个文件

我正在运行一个脚本,它将更改扩展名为hgx的文件内的内容.

例如test.hgx

现在,我有多个扩展名为hgx的文件,我想为所有文件(扩展名为hgx)运行相同的脚本.

我当前的脚本如下:

file_name = "test.hgx"

x = open(file_name,'r')
....(and so on)
Run Code Online (Sandbox Code Playgroud)

是否可以使用以下内容:

file_name = "*.hgx"

x = open(file_name,'r')
....
Run Code Online (Sandbox Code Playgroud)

这样脚本就可以运行扩展名为hgx的所有文件.任何变通方法或方法来做到这一点?

python

0
推荐指数
1
解决办法
374
查看次数

标签 统计

python ×9