我已经阅读了大量的教程和stackex问题/答案,但显然我的问题太具体了,而且我的知识太局限于拼凑解决方案.
[编辑] 我的困惑主要是因为我的项目需要shell脚本和makefile来运行一个简单的python程序.我不确定为什么这是必要的,因为它似乎是如此迂回的做事方式.看起来makefile和脚本很可能只是为了让自动编程器满意,正如下面提到的受访者所说的那样.所以,我想这是最好用教授澄清的东西.我非常感谢答案 - 非常感谢您的帮助!
基本上,我想要做的是program.py
通过program.sh
(shell脚本)运行(我的源代码),这样当我在命令行中键入以下内容时
./program.sh arg1
Run Code Online (Sandbox Code Playgroud)
它运行program.py
并传入arg1
程序,就像我在命令行中手动输入以下内容一样
$ python program.py arg1
Run Code Online (Sandbox Code Playgroud)
我还需要自动设置program.sh
为可执行文件,这样就$ chmod +x program.sh
不必事先输入.
我已经阅读了这里提供的解决方案,这非常有用,但这似乎要求文件使用.py
扩展名执行,而我的特定应用程序需要.sh
扩展名,以便按照上面的要求运行.
关于我为什么要运行.sh
文件的另一个原因是因为我还需要以某种方式包含一个makefile来运行程序以及脚本(所以我假设我必须make
在脚本中包含一个命令? ).
老实说,我不确定为什么makefile是python程序所必需的,但是教授指示makefile对于分级脚本更方便,我们应该简单地为makefile的内容编写以下代码:
all:
/bin/true
Run Code Online (Sandbox Code Playgroud)
非常感谢您提前帮助解决此事!
我是 Python 的新手(C 是我的主要语言),所以这可能是一个超级基本/幼稚的问题。
我有两个使用以下 Python 代码生成的整数列表:
mainList = range(100)
random.shuffle(mainList)
list1 = mainList[:len(mainList)/2]
list2 = mainList[len(mainList)/2:]
Run Code Online (Sandbox Code Playgroud)
基本上,我试图通过 TCP 连接发送这些列表(list1
和list2
)中的每一个,并且我想确保我只为每个列表发送 50 字节的有效负载(每个列表包含 50 个整数)。
什么是最好的方法来做到这一点?该bytearray()
功能是否适用于这里?