linux - 如何在 github 上上传 Python 脚本
问题描述
假设我有一个 Python 脚本在我的 Windows 计算机上运行。它读取路径“E:/.../input”处的文件,并在路径“E:/.../output”处提供输出。是否可以将其上传到 github,这样其他人只需使用适当的 shell 命令在他们的 linux 机器上运行相同的脚本?
这个问题的动机是
https://github.com/InsightDataScience/prediction-validation
但是我没有可以用来测试我的脚本的 Linux 机器。因此问题。
解决方案
有可能。
但是由于文件路径的格式和文件系统的结构是特定于操作系统的,因此您应该修改代码以支持跨平台功能。
您可以选择执行以下操作之一:
1) 如果您使用相对路径从输入读取或写入输出,您可以使用类似 os.path.join("input", "folder", "input.txt") 的代码从您的源代码的位置。由于 os.path.join 在不同操作系统中的实现彼此不同。因此,您不再需要关心文件路径的不同格式。
2)如果使用绝对路径进行读写,可以使用程序参数让用户指定输入/输出文件路径的绝对路径。就像,在最简单的情况下,
import sys
input = sys.argv[1]
output = sys.argv[2]
print(input, output)
当您运行代码(如果以 script.py 命名)时:
python3 script.py E:\data\input.txt E:\data\output.txt
然后你会得到输出
E:\data\input.txt E:\data\output.txt
因此,通过这种方式,无论用户使用什么操作系统,您都可以自由选择输入和输出路径。
推荐阅读
- xdgutils - xdg-打开多个不带扩展名的文件
- c# - 添加双打追加而不是求和
- solaris - solaris zfs 池导入崩溃
- javascript - 内容编辑器 Web 部件 (CEWP) 中的 JavaScript 逻辑
- r - 如何使用 R 函数 `as.Date` 获得全部大写的月份缩写
- java - 将 Javadocs 解析到内存中以在 JVM 中使用
- github - GitHub Google Cloud Build - 多个存储库
- javascript - 如何在android中获取选定文件的名称
- python - Django - 尽管子功能 404,功能继续执行
- python - 将NER(命名实体识别)作为熊猫数据框中的新列进行操作的任何解决方法?