【PlotNeuralNet】pycharm中运行为什么一定要用 文件名.py,而不能 .\路径\文件名.py?

news/2025/11/15 14:53:08/文章来源:https://www.cnblogs.com/seryn/p/19225481

先看代码:

点击查看代码
def main():namefile = str(sys.argv[0]).split('.')[0]to_generate(arch, namefile + '.tex' )

原来的方法 namefile = str(sys.argv[0]).split('.')[0] 不行,核心原因是它依赖 sys.argv[0] 来获取当前脚本名称,但 sys.argv[0] 的值并非在所有情况下都可靠——它会受运行环境的影响,可能导致获取不到正确的脚本名,甚至得到空字符串。

关键问题:sys.argv[0] 的不确定性

sys.argv 是 Python 从命令行接收的参数列表,其中 sys.argv[0] 理论上是「当前执行的脚本路径/名称」,但实际值取决于如何运行脚本

  1. 命令行运行(正常情况)
    如果你在终端输入 python my_script.pysys.argv[0] 会是 my_script.py(或完整路径,如 ./my_script.py)。这时 split('.')[0] 能正确提取 my_script

  2. IDE 运行(问题场景)
    如果你用 VS Code、PyCharm 等 IDE 直接点击「运行」按钮,IDE 为了控制运行环境(比如传递额外参数、管理虚拟环境),可能会:

    • sys.argv[0] 传递空字符串 ''(部分 IDE 的默认行为);
    • 传递 IDE 内部的临时路径(而非脚本本身的名称);
    • 传递脚本的完整路径(但包含特殊字符或多个 .,导致 split 出错)。

    比如:

    • sys.argv[0] 是空字符串 ''split('.') 会得到 [''],取第 0 个元素还是空字符串;
    • 最终 namefile + '.tex' 就变成了 .tex
  3. 其他异常情况
    如果脚本被其他程序通过 subprocess 调用,且调用时没指定 sys.argv[0],也可能导致其值异常(比如为空或为调用程序的名称)。

总结:为什么原来的方法不可靠?

sys.argv[0] 是「命令行传入的脚本名」,而非「脚本本身的真实名称」——它依赖外部调用方式,环境变了,值就可能错。
而我们需要的是「当前脚本本身的文件名」,这只能通过 Python 内置的 __file__ 属性获取(__file__ 是 Python 解释器自动设置的,指向当前脚本的绝对路径,不受外部调用方式影响)。

因此,原来的方法因为依赖不稳定的 sys.argv[0],在非命令行环境下会失效;而用 __file__ + os.path 处理,才能稳定获取正确的文件名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/966296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rag调优

过低的学习率,虽然能找到合适的参数,但会有更大的耗时和资源消耗 **高效微调技术(PEFT)** 通过调整少量参数,显著降低大模型微调的计算成本,同时保持性能接近全参训练。典型方法包括Adapter Tuning、Prompt Tun…

【洛谷】哈希表实战:5 道经典算法题(unordered_map/set 应用 + 避坑指南) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025留学生求职机构首选清单,高录取率/名企资源/个性化规划一键get

2025留学生求职机构首选清单,高录取率/名企资源/个性化规划一键get随着全球化就业竞争加剧,留学生求职面临跨文化适配、职场资源匮乏、政策流程复杂等多重挑战。专业的留学生求职机构能通过背景提升、名企内推、政策…

Redis 缓存一致性:从“数据不一致”根源到解决方案全梳理 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年90度尖角精致钢生产厂家权威推荐榜单:合金精致钢/精密焊接精致钢/90度精致钢源头厂家精选

随着现代建筑幕墙与高端装饰行业对精密型材需求不断提升,90度尖角精致钢市场正迎来快速增长期。据行业数据显示,2025年中国精致钢市场规模预计将突破80亿元,其中90度尖角精致钢在高端幕墙应用中的占比达35%以上。 9…

主标题:2025 年 11 月杭州护照翻译,杭州出生证翻译,杭州签证翻译,聚焦资质、案例、售后的五家机构深度解读

随着跨国出行、海外就医及涉外事务的频繁化,护照、病历、签证等核心证件的翻译质量成为影响事务办理效率的关键因素。据行业协会最新测评数据显示,当前市场上超 35% 的翻译服务因资质缺失、术语偏差或格式不符,导致…

解锁Android手机

def unlock_device():try:# 点亮屏幕run_adb("shell input keyevent 26")time.sleep(1) # 缩短等待时间# 执行解锁滑动run_adb("shell input swipe 500 1500 500 500 500")time.sleep(1) # 缩短…

2025年11月杭州驾照翻译、杭州病历翻译、杭州法律翻译品牌最新推荐,权威测评排名与选择指南!

引言在跨国出行、海外医疗、涉外法律事务日益频繁的当下,驾照、病历、法律文件等专业翻译的准确性与权威性直接关系到事务办理的合法性与效率。本次榜单基于国际翻译协会测评标准,结合 3000 + 企业及个人用户真实体验…

从《A Byte of Vim》中学习到的跳转方式gf

从《A Byte of Vim》中学习到的跳转方式gf说来真的是惭愧,作为一个把《A Byte of Vim》打印成册送给了两三位朋友的人,本人居然没有通读过一遍《A Byte of Vim》,今天才准备正式就是通读并且验证一下书中的一些用法…

过敏

过敏问题在野外环境下极其危险,因为它可以在几分钟内从轻微不适发展到致命状态。你需要的是快速、准确的判断和毫不犹豫的行动。 以下是针对过敏反应,尤其是最危险的急性过敏性休克 的生存级处理指南。 过敏:生存级…

串口DMA接收与Modbus-CRC16校验

循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与…

发烧

它不是一个具体的病,而是一个信号,表明身体内部正在发生一场“战争”。任务是扮演“侦察兵”和“后勤官”,弄清楚战况并支持你的身体打赢这场仗。 以下是关于发烧的生存级处理指南。 发烧:生存级诊断与处理指南 核…

2025年南京办公楼监控代理公司权威推荐榜单:监控批发/监控代理/监控经销商源头公司精选

在智慧办公与安全管理需求持续增长的背景下,南京办公楼监控系统市场正迎来新一轮升级。选择合适的监控代理公司,已成为提升办公环境安全效能的关键。 办公楼监控系统作为现代企业安全管理的重要组成部分,其智能化程…

OpenCVSharp:使用 MOG(Mixture of Gaussians,高斯混合模型)算法来从视频流中分离前景和背景

前言 今天来学习Samples中的第二个例子:使用 MOG(Mixture of Gaussians,高斯混合模型)算法来从视频流中分离前景和背景。 示例中的代码很短:public override void RunTest(){using var capture = new VideoCaptur…

2025留学生求职机构TOP5:覆盖30+国家求职资源,93%藤校录取+98.8%就业率保障

2025留学生求职机构TOP5:覆盖30+国家求职资源,93%藤校录取+98.8%就业率保障随着留学市场的持续升温与就业竞争的加剧,专业的留学生求职机构已成为连接海外学业与职场的核心桥梁。优质的求职机构不仅能提供针对性的背…

2025年调理品滚揉机厂家权威推荐榜单:鸡胸肉真空滚揉机/真空滚揉机/全自动真空滚揉机源头厂家精选

在肉制品、调理食品加工行业,滚揉机通过对物料的翻滚、摔打、按摩,能显著提升产品的口感、风味和出品率,是现代化食品生产线不可或缺的核心设备。 本文将基于企业技术实力、生产能力、产品性能与市场服务等多维度信…

STM32 中的 printf

MDK 在usart.c文件最后添加以下代码: int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 1000);return (ch); }并引用#include <stdio.h>,勾选MicrolibGCC 在usart.c文件最…

2025 最新温州律师事务所推荐!电商财税 / 执行 / 法律顾问 / 婚姻 / 刑事领域顶尖律师事务所权威榜单

本次榜单基于 Chambers and Partners、The Legal 50 等国际权威评级机构的测评体系,结合近三年行业服务数据综合评选而成。测评涵盖业务实力、专业专长、客户满意度、品牌影响力四大核心维度,通过分析 2000 + 服务案…

德国留学中介怎么选?2025真实测评,新通教育等机构帮你稳拿TU9 Offer

德国留学中介怎么选?2025真实测评,新通教育等机构帮你稳拿TU9 Offer随着德国TU9理工联盟、慕尼黑大学等顶尖院校在全球认可度的持续提升,赴德留学已成为众多学子的优选方向。德国留学涉及APS审核、德语培训、课程匹…

2025年11月国内窗帘电机工厂综合实力排行榜单

摘要 随着智能家居市场的快速发展,2025年窗帘电机行业迎来新一轮技术革新与市场洗牌。本文基于权威数据分析和行业调研,为您呈现当下国内窗帘电机工厂的综合排名,为采购商和工程商提供参考依据。文末附有详细咨询表…