小编Sch*_*eck的帖子

从c中创建的struct读取python中的struct

我对使用Python非常陌生,并且对C非常生疏,所以我提前道歉我的声音是多么愚蠢和/或丢失.

我在C中有函数创建一个包含数据的.dat文件.我使用Python打开文件来读取文件.我需要阅读的一件事是在C函数中创建并以二进制打印的结构.在我的Python代码中,我在文件的相应行中读取结构.我已经尝试了逐项解开stuct项目并且整体没有成功.结构中的大多数项目在C代码中被声明为"真实".我正在与其他人一起研究这个代码,主要的源代码是他的,并且已经将变量声明为"真实".我需要把它放在一个循环中,因为我想读取目录中以'.dat'结尾的所有文件.要开始循环,我有:

for files in os.listdir(path):
  if files.endswith(".dat"):
    part = open(path + files, "rb")
    for line in part:
Run Code Online (Sandbox Code Playgroud)

然后我读取包含结构的那一行之前的所有行.然后我到达那条线并且:

      part_struct = part.readline()
      r = struct.unpack('<d8', part_struct[0])
Run Code Online (Sandbox Code Playgroud)

我试图只读取存储在结构中的第一件事.我在这里看到了一个这样的例子.当我尝试这个时,我收到的错误是:

struct.error: repeat count given without format specifier
Run Code Online (Sandbox Code Playgroud)

我会接受别人可以给我的任何和所有提示.我已经坚持了几天,并尝试了许多不同的东西.老实说,我认为我不理解struct模块,但我已尽可能多地阅读它.

谢谢!

c python

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

访问函数内部的变量

我正在寻找任何一个小例子或什么来帮助我,我找不到它.我觉得我错过了一些明显的东西.我在一个.py文件中有一个大函数,我想在另一个.py文件中调用并使用函数中的所有变量而我无法做到.所以我试图用一个小例子来做它仍然无法得到它.假设我有一个包含以下内容的文件mod1.py:

def mod(num):
    a = 5
    b = 6
    c = num
Run Code Online (Sandbox Code Playgroud)

我尝试添加各种各样的回报,仍然无法让它工作.但我在一个名为mod_read.py的文件中调用它:

import mod1

mod1.mod(1)
d = mod1.mod.a
print(d)
Run Code Online (Sandbox Code Playgroud)

当我运行mod_read.py时,我收到错误:"AttributeError:'function'对象没有属性'a'".我错过了什么明显的事情?

python module

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

标签 统计

python ×2

c ×1

module ×1